場景一、 使用 git add . 添加了當(dāng)前目錄所有文件,導(dǎo)致提交了不應(yīng)該的文件
- 首先使用 git status 看一下當(dāng)前已經(jīng) add 了的文件
- 根據(jù)自身情況使用以下面命令
命令 | 描述 |
---|---|
git reset HEAD | 上一次add 里面的全部撤銷了 |
git reset HEAD fileName | 對某個文件進行撤銷了 |
場景二、 使用 git add 后,又使用了 git commit
- 首先使用 git log 查看節(jié)點
- 最后根據(jù)不同情況進行如下處理
- 還沒有 push 的情況闸拿,可以使用 git reset 命令
命令 | 描述 |
---|---|
git reset commit_id | 回退到上一個 提交的節(jié)點 代碼還是原來自己修改的 |
git reset –hard commit_id | 回退到上一個commit節(jié)點, 代碼也發(fā)生了改變书幕,變成上一次的新荤,本次的修改也丟了 |
- 已經(jīng) push 的情況,可以使用 git revert 命令(還原已經(jīng)提交的修改 台汇,此次操作之前和之后的commit和history都會保留苛骨,并且把這次撤銷作為一次最新的提交)
命令 | 描述 |
---|---|
git revert HEAD | 撤銷前一次 commit |
git revert HEAD^ | 撤銷前前一次 commit |
git revert commit-id | 撤銷指定的版本,撤銷也會作為一次提交進行保存 |
git revert | 提交一個新的版本苟呐,將需要revert的版本的內(nèi)容再反向修改回去痒芝,版本會遞增,不影響之前提交的內(nèi)容 |