[英]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.