一, 查看:
git status # 查看有变更的文件 git log # 显示当前分支的版本历史 git log --stat # 显示commit历史,以及每次commit发生变更的文件 git diff # 显示暂存区和工作区的代码差异 git blame [file] # 显示指定文件是什么人在什么时间修改过 git show [commit] # 显示某次提交的元数据和内容变化
git branch
# 列出所有本地分支
git branch -r
# 查看所有远程分支
git branch -a
# 查看所有分支
二, 增加 创建分支 并提交到远程分支:
git branch -r # 查看所有远程分支 git branch -a # 查看所有分支 git checkout branch-name
# 新建一个分支但是依然停留在当前分支
git checkout -b branch-name
# 新建一个分支,并且切换到该分支
git branch --track[branch-name][remote-branch-name]
# 新建一个分支与指定的远程分支建立追踪关系
git branch --set-upstream [branch] [remote-branch]
# 建立追踪关系,在现有分支与指定的远程分支之间
git merge [branch]
# 合并指定分支到当前分支
三, 删除:
git branch -d [branch-name] # 删除分支 git push origin --delete [branch-name] git branch -dr [remote/branch] # 删除远程分支 1 git branch -r -d origin/branch-name git push origin :branch-name 删除远程分支 2
四, 代码回滚:
git checkout [file] # 恢复暂存区的指定文件到工作区 git checkout [commit] [file] # 恢复某个commit的指定文件到暂存区和工作区 git checkout . # 恢复暂存区的所有文件到工作区 git reset [file] # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 git reset --hard # 重置暂存区与工作区,与上一次commit保持一致 git reset [commit] # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 git reset --hard [commit] # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定 commit一致 git reset --keep [commit] # 重置当前HEAD为指定commit,但保持暂存区和工作区不变 git revert [commit] # 新建一个commit,用来撤销指定commit # 后者的所有变化都将被前者抵消,并且应用到当前分支 git stash git stash pop # 暂时将未提交的变化移除,稍后再移入 git archive # 生成一个可供发布的压缩包 git reset --hard version-num # 回滚到指定版本 git revert HEAD 撤销前一次 commit git revert HEAD^ 撤销前前一次 commit git revert fa042ce57 撤销指定的版本,撤销也会作为一次提交进行保存。