[英]Git branching from an older revision and rolling back the current branch
我不太了解Git,對於我們的一個存儲庫,我犯了一個錯誤。
我承諾並將更改推送到名為“core”的分支。 但后來我意識到我的改變不應該存在 - 我應該在幾個版本之前創建一個新的分支,比如說,“核心實驗”。
為了解釋,我有:
A---B---C---D---E "core"
但現在我想改變它
A---B "core"
\
C---D---E "core-experimental"
我的團隊中沒有其他人已撤下我的更改,所以我所做的任何恢復都不應該給任何人帶來痛苦。
這對Git來說可能嗎?
其他兩個答案工作正常,但您實際上可以避免在工作樹中執行任何操作:
# create core-experimental using core as starting point
git branch core-experimental core
# move core
git branch -f core <SHA1 of B>
這樣,即使您在工作樹中進行了本地修改,也無需在結帳/重置期間更新一堆時間戳,這將導致您必須重建(假設這是一個已編譯的項目)。
git checkout core
git branch core-experimental
git reset --hard <SHA of B>
git push -f <remote> core
或者更具描述性......
核心:
git branch core-experimental
git reset --hard <revision-B>
然后:
git push -f
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.