![](/img/trans.png)
[英]I made changes to a lot of files but didn't yet do a commit. How can I back out of all the changes?
[英]How can I locally cancel all the changes made in a commit?
我有一個特定的目錄,其中的源在特定提交0x0x0x0x0
中進行了修改。 在該提交之后,還有其他許多提交都在主服務器上。
我想取消該提交0x0x0x0x0
並且此特定目錄中的本地(非上游)具有在進行此提交之前的代碼。 我可以為此運行哪些git命令?
以后的編輯 :我只希望特定的提交取消而不是隨后的更改。 作為代碼,它是一個獨立的模塊,因此對我沒有影響。 另外,我不會使用此本地存儲庫來進一步向上游提交。
如果您想回到引入提交之前,從而有效地刪除其更改以及此后發生的所有更改(在其他提交中),則可以執行以下操作:
git checkout -b <newbranchname> commithash~1
出一個到舊版本的新分支,因此您不會丟失任何信息,但是可以從舊狀態重新啟動: git checkout -b <newbranchname> commithash~1
git reset --hard commithash~1
但是,如果您只想撤消上述提交,同時保留之后所做的所有更改,則可以執行以下操作:
git revert commithash
可以使用以下命令返回到任何提交:
git reset --hard commit_identifier
注意:要獲取提交標識符,請使用git log
命令
您還可以使用以下命令重置上一次提交:
git commit --amend
請看下一個鏈接以獲取更多信息:
http://www.kernel.org/pub/software/scm/git/docs/git-reset.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.