一、Git常用命令:
git show #显示某次提交的内容
git checkout --<file> #抛弃工作区修改
git add <file> #将工作文件修改提交到本地暂存区
git rm <file> #从版本库中删除文件
git rm <file> --cached #从版本库中删除文件,但不删除文件
git reset <file> #从暂存区恢复到工作文件
git reset --. #从暂存区恢复到工作文件
git reset --hard #恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git commit -a #将git add,git rm 和 git ci等操作都合并在一起做
git commit -am "some comments"
git commit --amend #修改最后一次提交记录
git revert <&id> #恢复某次提交的状态。恢复动作本身也创建了一次提交对象
git revert HEAD #恢复最后一次提交状态
git diff #差异
git blame <file> #快速定位每行代码的修改人员和时间日期
git clean --dfx #清除非git 管理的文件
二、某些重要常用命令详解
git diff
git diff <file> #比较当前文件和暂存去文件差异
git diff <$id1><$id2> #比较两次提交之间的差异
git diff <branch1><branch2> #在两个分支之间比较、
git diff --staged #比较暂存区和版本库差异
git diff --cached #比较暂存区和版本库差异
git diff --stat #仅仅比较统计信息
git log
git log <file> #查看该文件每次提交记录
git log -p <file> #查看每次详细修改内容的diff
git log -p -2 #查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息
git branch
git branch -r #查看远程分支
git branch <new_branch> #创建新的分支
git branch -v #查看各个分支最后提交信息
git branch --merged #查看已经被合并到当前分支的分支
git branch --no-merged #查看尚未被合并到当前分支的分支
git branch -d <branch> #删除某个分支
git branch -D <branch> #强制删除某个分支(未被合并的分支被删除的时候需要强制)
git checkout
git checkout <branch> #切换到某个分支
git checkout -b <new_branch> #创建新的分支。并且切换过去
git checkout -b <new_branch><branch> #基于branch 创建新的new_branch
git checkout $id #把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git checkout $id -b <new_branch> #把某次历史提交记录checkout出来,创建一个分支
git checkout --.
分支合并和release
git merge <branch> #将branch 分支合并到当前分支
git merge origin/master --no-ff #不要Fast-Foward合并。这样可以生成merge 提交
git rebase master <branch> #将master rebase 到 branch,相当于git checkout <branch> && git rebase master && git co master && git merge <branch>
git 补丁管理
git diff> ../sync.patch #生成补丁
git apply ../sync.patch #打补丁
git apply --check ../sync.patch #测试补丁能否成功
git 暂存管理
git stash #暂存
git stash list #列所有stash
git stash apply #恢复暂存的内容
git stash drop #删除暂存区