簡體   English   中英

如何還原上一次提交中的部分更改

[英]How to revert part of changes in the previous commit

在之前的git commit中,我添加了一個新文件(我們稱之為 C)並對文件 A 和文件 B 進行了一些更改。

有沒有辦法刪除文件 C 並恢復git commit --amend對文件 A 所做的更改?

聽起來您最想恢復提交但保留對一個文件的更改。

首先,執行 git 還原,但保留更改:

git revert -n HEAD

然后取消暫存您不想還原的更改(文件 B)

git reset HEAD -- B

並丟棄未分級的更改:

git checkout --.

這應該保留分階段更改以恢復對文件 A 和 C 的更改。 然后您可以根據需要提交(如果尚未在其他地方推送,則新提交或修改先前的提交)。

git 還原文檔

如果不推

您可以重置為之前的提交並嘗試再次執行您真正想要的操作。

git reset HEAD~1
git add A B
git commit ...

如果推

既然你問的是git commit --amend我假設這些更改只是本地的。 如果更改已經在遠程倉庫中(又名推送),那么最好在單獨的提交中刪除C

git rm C 
git commit -m "Removing C"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM