文章出處

回滾到指定commit,且保持該commit之前和之后的提交記錄

使用git revert命令。

git revert HEAD                  // 回滾到前一次 commit
git revert HEAD^                // 回滾到前前一次 commit
git revert commitID (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff) //回滾到指定版本的前一次提交,撤銷也會作為一次提交進行保存。

git revert是提交一個新的版本,版本會遞增,不影響之前提交的內容。

實際體驗

git revert命令使用體驗糟糕。
git revert的原則是不影響之前提交的內容。
這意味著你在a文件修改了,commit了。
然后使用git revert回滾的commit id只是b文件的修改提交。
這時你的a文件修改還存在,沒有被回滾。
git revert操作,也會常常導致conflict。
原因是之前版本的內容肯定和當前不一樣。
你要解決conflict,才能生成一個新版本。

回滾到指定commit,丟棄該commit之后的提交記錄

  • 刪除遠程分支再提交

    git reset --hard resetVersionHash
    git push origin :currentBranch  //或者這么寫git push origin --delete currentBranch
    git push origin currentBranch 
  • 或者強制提交當前分支覆蓋遠程分支

    git reset --hard resetVersionHash
    git push -f origin currentBranch

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()