首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使我的分支在合并前恢复到原来的状态?

如何使我的分支在合并前恢复到原来的状态?
EN

Stack Overflow用户
提问于 2022-01-21 03:55:34
回答 3查看 89关注 0票数 1

我对吉特很陌生,弄得一团糟。

我有两个分支-释放和开发分支。

我的发布分支落后100次,在开发分支之前提交10次。

我希望将发布分支中的10次提交提交到开发分支,因此我从发布分支创建了一个拉请求来开发分支,但是存在一些合并冲突,因此我使用了以下命令来解决合并冲突:

代码语言:javascript
复制
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次提前提交)。

请帮我把这个修好。

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2022-01-21 07:21:00

要回到以前的状态,您可以:

代码语言:javascript
复制
git checkout release
git reset --hard release@{2.hours.ago}

两小时前的情况就是这样。选择一个合理的时间跨度,从在分支上执行最后一次提交到执行pull --rebase之间。

您还可以调查重新触发器并选择在git pull --rebase完成之前的提交:

代码语言:javascript
复制
git reflog show release
git reset --hard release@{2}    # for example

验证您在正确的提交:

代码语言:javascript
复制
git log --pretty=fuller   # observe the commit date; should be before you did the pull --rebase

然后推开校正过的分支。

票数 1
EN

Stack Overflow用户

发布于 2022-01-21 06:01:06

从一开始,您就必须将您的开发分支重新定位在发布分支之上。

代码语言:javascript
复制
git checkout develop
git rebase release

这将使您的开发分支提前提交100次,在发布分支后提交0次。

所以现在你必须

代码语言:javascript
复制
git reset --hard HEAD~1

在上述两个分支上执行上述命令。

票数 0
EN

Stack Overflow用户

发布于 2022-01-21 09:36:48

若要将发布分支带回到以前的状态,请使用以下命令

代码语言:javascript
复制
git revert -m 2 <merge_id>
git push origin <release-branch>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70796212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档