簡體   English   中英

Git還原然后提交,但要在還原之前保留修訂

[英]Git Revert and then commit but want to keep revision before revert

我的承諾已經推送到Github,可以說

A> B> C> D> E-頭

我想還原為B,所以我使用

git reset --hard <B:Hash>

現在,它看起來像

A> B-頭

因此,如果我使用git push --force將其推送到服務器,則會丟失存儲庫中的C,D,E

如何還原文件並提交為最新版本,例如A> B> C> D> E> F

F =還原:B

我不能使用git commit因為它說沒有文件可以提交。

嘗試這個:

git checkout B
git reset --soft E
git commit -m 'Reverted to B'

checkout命令將更改工作樹和索引以匹配提交B。用--soft重置將更改當前分支點的提交,而不影響工作樹或索引。 換句話說,在執行reset命令后,索引將處於與B提交完全相同的狀態。


您還可以使用git revert B..E ,它會做同樣的事情,除了它將為每個還原的提交創建一個新的提交。 如果您希望一次提交即可完成還原,只需添加-n選項( git revert -n B..E ),Git便會將還原應用於工作目錄和索引。 提交結果以完成還原。

暫無
暫無

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

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