本文共 637 字,大约阅读时间需要 2 分钟。
我将git的撤销操作分为以下4个场景,你可以根据需要进行撤销操作。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- <file-name>。
例如,你从master拉下来最新代码,修改了半天的first.py文件,但是还没有git add .提交到暂存区。这时候,你可以使用
appledeMacBook-Pro:test_git apple$ git checkout -- first.py用git checkout -- . 可以将所有文件都清空
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
例如,修改了first.py文件,还提交到暂存区。
git reset be0f5d2a31974c2e355b5a3dfbfd8ca433c5a138(commit_id) first.py
git checkout -- first.py
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,不过前提是没有推送到远程库。
例如: git reset --hard be0f5d2a31974c2e355b5a3dfbfd8ca433c5a138
场景4: 已经提交了不合适的修改到版本库时,也推送到远程库。
用git revert commit_id
然后重新git push
转载地址:http://eavws.baihongyu.com/