我對 git 很陌生,我弄得一團糟。
我有兩個分支 - 發布和開發分支。
我的發布分支落后了 100 個提交,而開發分支提前了 10 個提交。
我希望將發布分支中的 10 個提交提交到開發分支,因此我創建了從發布分支到開發分支的拉取請求,但存在一些合并沖突,因此我使用了以下命令來解決合并沖突:
git checkout release
git pull --rebase origin develop
If there are some conflicts, go to these files to modify them.
git add #your_changes_files
git pull
git push origin release
不幸的是,在我合并拉取請求后,我觀察到我的發布分支與我的開發分支同步,即作為開發分支一部分的 100 個提交也成為發布分支的一部分。我希望我的發布分支回到合并之前的狀態(100 次提交和 10 次提交)。
請幫我解決這個問題。
提前致謝。
uj5u.com熱心網友回復:
要將發布分支恢復到以前的狀態,請使用以下命令
git revert -m 2 <merge_id>
git push origin <release-branch>
uj5u.com熱心網友回復:
從一開始,您就必須在發布分支上重新定位您的開發分支
git checkout develop
git rebase release
這將使您的開發分支提前 100 次提交,并且在發布分支之后進行 0 次提交。
所以現在你必須
git reset --hard HEAD~1
在兩個分支上都比執行上面提到的命令
uj5u.com熱心網友回復:
要回傳之前的狀態,您可以執行以下操作:
git checkout release
git reset --hard release@{2.hours.ago}
這使分支機構處于兩個小時前的狀態。選擇一個合理的時間跨度,該時間跨度介于您在分支上進行最后一次提交時和在pull --rebase.
您還可以調查 reflog 并選擇git pull --rebase完成之前的提交:
git reflog show release
git reset --hard release@{2} # for example
驗證您是否處于正確的提交狀態:
git log --pretty=fuller # observe the commit date; should be before you did the pull --rebase
然后推出更正的分支。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/419152.html
標籤:
