git推到合并后的分支

时间:2013-07-08 13:43:22

标签: git

如果我在将其与master合并后推送到分支,git将如何处理它(将分支中推送的最新提交自动更新为master或不执行任何操作或执行其他操作)?

2 个答案:

答案 0 :(得分:6)

合并后,您仍然有2个分支,一个是您从合并的,另一个是合并到的分支,它通常仍然是您的活动分支。

新提交将转到已签出的分支,即主分支或其他分支。

请注意,我们不推送到分支:我们提交到分支并将分支推送到远程存储库。我们不更新提交,我们向存储库添加新提交。提交从不更改。

添加 - 当然,您仍然可以推送到“旧”分支。并再次将其合并为主人:

A - B - - - E - G      [master]
     \     /   /
      C - D - F        [issue_202]

但我更愿意创建一个新的分支来解决问题。这是工作流程的问题。假设,工作是基于tiket的,然后在合并到master之前,issue_202票证将解析为。所以在我看来,额外的工作不是对issue_202的修复,而是对master分支的修复,所以我会创建一个新的故障单和一个新的分支来解决问题:

              F        [issue_202_1]
             / \
A - B - - - E - G      [master]
     \     /  
      C - D            [issue_202] [

答案 1 :(得分:0)

在Git中, commit 是存储库的快照,加上指向一个或多个父级的指针以及一些元数据(如作者和提交消息)。

分支是指向某个提交的指针。就是这样。

推送分支时,更新远程指针以指向与您相同的提交。此外,您的本地存储和远程存储将协商远程缺少的快照并将其发送到远程。否则,新更新的远程分支将指向它一无所知的提交。

因此,如果您推送分支,则只会更改该远程分支。所有其他远程分支将指向与之前完全相同的提交。也就是说,git-config(1) push.default可以让您轻松推送超出预期的内容。我推荐git config --global push.default nothing

你应该更多地阅读Git Branching