显示历史修改版本
git log
-p 按补丁形式输出历史版本的修改差异
-n 输出最近多少个版本的修改
--stat 输出简略修改信息
回滚
还在工作区,未add
git checkout
代码git add到缓存区,并未commit提交
git reset HEAD
git commit到本地分支、但没有git push到远程
git reset --hard <commit_id> 强制回到想要的版本,代码不保留
git reset --hard HEAD^ 回到最新的一次提交,代码不保留
git reset HEAD^ # 此时代码保留,回到 git add 之前
提交到远程仓库
通过reset删除已提交版本
git reset --hard <commit_id>
git push origin HEAD --force 再强制提交一次
git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除
通过revert是用一次新的commit来回滚之前的commit
git revert <commit_id> 只会回滚对应版本的修改,如果有多次修改需要多次执行revert
git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留
HEAD master origin
head 当前工作目录所对应的commit版本
origin 远程仓库的版本
创建并切换到新分支
git checkout -b branch_name
参考: