2
我在Git中有2個分支,即master和dev。我如何正確地將git的分支轉換爲另一個分支?
我想將dev分支的內容轉換爲master,也就是說我想拋棄dev的狀態,並將其更改爲master中的樣子,我該怎麼做?
謝謝!
我在Git中有2個分支,即master和dev。我如何正確地將git的分支轉換爲另一個分支?
我想將dev分支的內容轉換爲master,也就是說我想拋棄dev的狀態,並將其更改爲master中的樣子,我該怎麼做?
謝謝!
重置一個分支的狀態與另一個分支的狀態完全相同 - 包括提交歷史記錄 - 在git中被稱爲reset
,而不是rebase。這是用復位命令執行的。
git checkout dev
git reset --hard master
如果dev是已發佈的分支,那麼您可能希望保留提交歷史記錄。最合理的做法是合併master
到dev
,然後重置樹以匹配master
的。
E.g.
git checkout dev
git merge master
# ... resolve any conflicts and commit if needed.
# Reset the tree to master
git reset --hard master
# Reset just the branch pointer to the merge
git reset --soft HEA[email protected]{1}
# Commit a 'revert' of the differences to dev
git commit -m "Revert unneeded dev changes"
這將確保您不需要回退歷史,這在人們跟蹤開發分支時很重要。