1. 程式人生 > >git各種狀態下(init, add, commit, push ),新增錯檔案,撤銷的方法

git各種狀態下(init, add, commit, push ),新增錯檔案,撤銷的方法

使用git時會出現各種各樣的問題,下面是幾種情況下怎麼反悔的操作

一,未加入快取區,撤銷檔案修改

     git checkout -- file

二,已加入快取區,撤銷檔案提交

     git reset HEAD file

     或git rm --cached file

三,已提交到本地,回滾提交

如果不小心 弄錯了 git add後 , 又 git commit 了。 
先使用 
git log 檢視節點 
commit xxxxxxxxxxxxxxxxxxxxxxxxxx 
Merge: 
Author: 
Date:

然後 
git reset commit_id

over

PS:還沒有 push 也就是 repo upload 的時候

git reset commit_id (回退到上一個 提交的節點 程式碼還是原來你修改的) 
git reset –hard commit_id (回退到上一個commit節點, 程式碼也發生了改變,變成上一次的)

四,已push到遠端

可以使用 git revert

還原已經提交的修改 
此次操作之前和之後的commit和history都會保留,並且把這次撤銷作為一次最新的提交 
git revert HEAD 撤銷前一次 commit 
git revert HEAD^ 撤銷前前一次 commit 
git revert commit-id (撤銷指定的版本,撤銷也會作為一次提交進行儲存) 

git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容。