Git各種撤銷操作

撤銷git add操作

git reset HEAD <file>   # 取消add操作並保留修改
git checkout -- <file>     #若繼續該命令,則會刪除掉剛剛的修改內容

撤銷git commit操作

git reset --soft <commit_id>   #可以回退到某個commit並保存之前的修改  <commit_id>從git log中取,取前7位即可
git reset --hard <commit_id>  #回退到某個commit不保留之前的修改

撤銷git push操作

push後撤銷該次commit

git revert <commit_id>

原理: git revert 會產生一個新的 commit,它和指定 SHA 對應的 commit 是相反的(或者說是反轉的)。 任何從原先的 commit 裏刪除的內容會在新的 commit 裏被加回去,任何在原先的 commit 里加入的內容會在新的 commit 裏被刪除。這是 Git 最安全、最基本的撤銷場景,因爲它並不會改變歷史 — 所以你現在可以 git push 新的“反轉” commit 來抵消你錯誤提交的 commit。

push後刪除一些不該提交的文件

刪除遠程分支上的文件,同時也刪除了本地倉庫的文件:

git rm file 
git commit -m "test delete"   
git push origin branch name

刪除遠程分支上的文件,但同時保留本地倉庫的文件

git rm --cached filename 
git commit -m "delete" 
git push origin branch name

刪除遠程分支上的文件夾,但同時保留本地倉庫的文件夾及文件

git rm -r --cached directory
git commit -m "test"
git push origin branch name
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章