1. 程式人生 > >撤銷git的錯誤提交(git add , git commit, git push)

撤銷git的錯誤提交(git add , git commit, git push)

1. git add 新增 多餘檔案

這樣的錯誤是由於, 有的時候 可能 git add . (空格+ 點) 表示當前目錄所有檔案,不小心就會提交其他檔案 git add 如果添加了錯誤的檔案的話 撤銷操作 git status 先看一下add 中的檔案 git reset HEAD 如果後面什麼都不跟的話 就是上一次add 裡面的全部撤銷了 git reset HEAD XXX/XXX/XXX.java 就是對某個檔案進行撤銷了

2. git commit 錯誤

如果不小心 弄錯了 git add後 , 又 git commit 了。
先檢視錯誤提交的節點

  1. git log

    commit xxxxxxxxxxxxxxxxxxxxxxxxxx (這個字串即為commit_id)
    Merge:
    Author:
    Date:

然後撤銷

  1. git reset commit_id

PS:還沒有 push 到遠端倉庫的時候

git reset commit_id (回退到上一個 提交的節點 程式碼還是原來你修改的)
git reset –hard commit_id (回退到上一個commit節點, 程式碼也發生了改變,變成上一次的,慎用,回退後直接變為上次提交後的程式碼版本,這期間修改的程式碼都不見了,做好備份)

3. git push(即程式碼已推送到遠端倉庫了),可以使用 git revert

還原已經提交的修改
此次操作之前和之後的commit和history都會保留,並且把這次撤銷作為一次最新的提交
git revert HEAD 撤銷前一次 commit
git revert HEAD^ 撤銷前前一次 commit
git revert commit_id (撤銷指定的版本,撤銷也會作為一次提交進行儲存)
git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容。