我对git还很陌生,我弄得一团糟。
我有两个分支-发布和开发分支。
我的release分支比develop分支落后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个提交在前面)。
3条答案
按热度按时间sbtkgmzw1#
要返回到以前的状态,您可以执行以下操作:
这会使分支处于两个小时前的状态。选择一个合理的时间跨度,该时间跨度介于你上次提交分支和提交
pull --rebase
之间。您也可以调查reflog并选择
git pull --rebase
完成之前的提交:型
验证您是否处于正确的提交位置:
然后推出正确的分支。
sz81bmfz2#
从一开始,您就必须将develop分支的基重置于release分支之上
这将使你的开发分支提前100次提交,发布分支后0次提交。
所以现在你必须
在两个分支上执行上述命令
sqxo8psd3#
要将发布分支恢复到以前的状态,请使用以下命令