首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大师的回复提交中,如何在没有回复效果的情况下将师父拉下来?

在大师的回复提交中,如何在没有回复效果的情况下将师父拉下来?
EN

Stack Overflow用户
提问于 2018-06-26 15:11:37
回答 1查看 227关注 0票数 3

几个星期前,我把一些东西推给主人,最终需要恢复。

现在,我已经做了这些改变,并准备再次推动他们掌握。我的正常工作流程是签出母版,从源文件中提取最新版本,签出功能分支,在主版的新更改中合并,然后再进行PR。

当我试图合并来自主服务器的更改时,还原提交将删除我需要保留的特性分支中的许多内容。

处理这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-22 14:01:48

那么,您的意思是,在原主已经被恢复,但您需要添加恢复的变化回来?喜欢

代码语言:javascript
复制
                     [branch feature/A-Fixed]
                   o commit A-fixed
[branch master]    |
commit revert A *  |
                | /
                |/
       commit A o
                |
                .

在本例中,将母版合并到您的特性分支中意味着上面的图中标记为*的还原提交将被添加到您的更改中,所以这就是为什么要从您的分支中删除一些内容。

因此,您可以做的是创建一个新的分支,从还原提交开始,然后再还原该分支(取消-还原<),将该分支合并到您的功能分支,然后将主服务器合并到您的分支。

代码语言:javascript
复制
git checkout <reverted> -b revert-branch
git revert <reverted>
git checkout feature/fixed-A
git merge revert-branch # rebase would also work
git branch -D revert-branch
git merge master
#...  continue with your normal workflow

这样,当合并主服务器时,还原已经在您的特性分支中,但是由于取消还原提交而被取消了,因此还原不会添加到您的更改中。

代码语言:javascript
复制
                        [branch feature/A-Fixed]
                      o merge revert-branch
                     /|
                    / | [previous state of branch feature/A-Fixed]
                   |  o commit A-fixed
                   |  |
                   o commit revert revert A
[branch master]    |  |
    new commit  *  |  |
                | /  /
                |/  /
commit revert A o  /
                | /
                |/
       commit A o
                |
                .

您可以看到,现在还原提交已经在您的特性分支上了,因此合并主服务器可以添加上面标记为*的其他提交,而不是还原。

通常,在主服务器上已经恢复了一些东西,并且您想要对它进行处理并再次推动它的情况下,您应该先从恢复提交开始,然后取消恢复(git还原-提交)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51046214

复制
相关文章

相似问题

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