我们的开发环境由dev
,demo
和master
分支组成。我们使用JIRA来跟踪问题,每次我们开始讨论问题时,我们将分支dev
,进行必要的更改,最后推出分支。从Git合并分支
为了测试,我们首先将分支(对应于JIRA问题的名称)合并到dev
中,测试它,然后合并到demo
,测试它,然后合并到master
。
我们遇到的问题是问题似乎在彼此建立。我可以用一个例子来最好地解释这一点:
比方说,我们有我们的典型环境,dev
,demo
和master
。有三个问题,TEST-1
,TEST-2
和TEST-3
。这些问题按其创建顺序完成,分支为dev
,在分支上工作,然后提交并推送分支。然后我将分支合并到dev
中,然后再次分支出下一个问题。
当需要推动这三个分支生存时,我们会产生意想不到的结果。为了合并这些为master
,我登录到服务器的命令行1运行命令:
git fetch origin
这将让我看到了新的分支机构。假设我们只想推动TEST-3
的更改。我们运行命令:
git merge origin/TEST-3
与仅看到第三个分支合并进来的更改相比,所有更改似乎都被拉了。所以后来,当我们最终在第一和第二期合并时,它给了我们“已经最新”的消息。
这不是我们想要的,就像这种行为一样,我们无法退出各个分支。
有什么我做错了吗?我们如何以这样一种方式来做到这一点,即允许我们为每个问题创建分支,并将它们合并成一个一个,并在需要时将这些更改拉出来。
非常感谢你的详细回复。这非常有帮助!也许我的问题是我分支'dev'来创建'TEST-1',然后在分支'TEST-2'之前将'TEST-1'合并回'dev'。我认为'TEST-2'本质上就是,如你所说,间接地基于'TEST-1'。 –