Git常用命令

git init

在当前目录中初始化仓库,git init命令将创建一个名为.git的子目录。

$ git init

git add

令将内容从工作目录添加到暂存区,格式为:

git add <file>...
git add *
git add .  //把所有修改的信息添加到暂存区

git commit

将暂存区里的改动给提交到本地的版本库,创建一个新的提交,其中包含索引的当前内容以及描述更改的给定日志消息。

git commit -am "fix xxx"

git checkout

切换分支或者检出内容到工作目录
格式:

git checkout -- <file>...
git checkout [branch]
git checkout -b [branchname] [tagname]
git checkout <文件>  //将单个文件代码回滚到上次提交的版本  
git checkout -b <branch > //要新建一个分支并同时切换到branch分支  
git checkout master //切换回 master 分支

git status

查看当前文件状态

git status 

git log

查看提交历史,从最近的提交快照起

git log

git reset

将当前HEAD重置为指定状态,根据传递给动作的参数来执行撤销操作.

git reset --hard HEAD^  //回滚到上一个版本  
git reset --hard <commit id> //回滚到指定的版本  

git clone

克隆仓库,将仓库克隆到新目录
格式:

git clone [url]
git clone <url> [-b branchname]  //clone分支;  

git branch

列出,创建或删除分支。

git branch //列出当前所有分支
git branch -r  //列出所有远程分支  
git branch -d dev //删除dev分支

git pull

获取远程主机某个分支的更新,然后尝试将更新合并进你所在的分支中。

git push

将本地数据库更新推送到远程仓库
格式:

git push [remote-name] [branch-name]

git merge

合并一个或者多个分支到你已经检出的分支中

git merge <branch-name> //合并指定分支到当前分支

git stash

临时地保存一些还没有提交的工作,以便在分支上不需要提交未完成工作就可以清理工作目录。一般配合git stash pop一起使用。
当您想记录工作目录和索引的当前状态,但又想回到干净的工作目录时,可以使用git stash命令将您的本地修改保存下来,并还原工作目录以匹配HEAD提交。

git stash 
git stash pop

git rm

从工作区或者暂存区移除文件

git rm <file>  //删除工作区文件,并且将这次删除放入暂存区

git diff

显示暂存区和工作区的差异

git diff  //查看尚未暂存的文件更新内容

git config

获取并设置仓库或全局选项

git config --global user.name <name>
git config --global user.email <email>

git revert

还原一些现有的提交,用于回退某个修改,但保留该修改之后的所有修改。

git revert HEAD~3

git rebase

变基操作,将提交到某一分支上的所有修改都移至另一分支上

git rebase master  //把master分支合并到当前分支

参考

Pro Git book