在等待待定公关时工作

Mig*_*ana 51 git pull-request

我正在研究一个项目并且我提交了我的第一个拉取请求,而我正在等待的时候,我想继续处理我的项目,从我合作的工作中积累起来,这仍然悬而未决.现在我有:

*master
user_story_1
Run Code Online (Sandbox Code Playgroud)

user_story_1 有拉开请求.

现在我正在尝试创建一个新的分支user_story_2,我可以继续我离开的工作user_story_1.如何在Git中执行此操作而不会遇到任何冲突或影响我的挂起合并?

ale*_*ete 60

我假设你想user_story_2在你完成的工作之上开始新的分支user_story_1.这是我在这种情况下使用的工作流程:

  1. Open Pull请求user_story_1:

      * (user_story_1)
      *
     /
    * (master)
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)
  2. user_story_2基于以下内容创建新分支user_story_1:

    $ git checkout -b user_story_2 user_story_1
      * (user_story_1, user_story_2)
      *
     /
    * (master)
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在新分支上工作:

      * (user_story_2)
      *      
      * (user_story_1)
      *
     /
    * (master)
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)
  4. Pull Request合并:

      * (user_story_2)
      *      
    * | (master)
    |\|
    | * (user_story_1)
    | *
    |/
    *
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)
  5. 删除旧分支:

      * (user_story_2)
      *      
    * | (master)
    |\|
    | *
    | *
    |/
    *
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)
  6. 将新分支重新引入master:

      * (user_story_2)
      *      
     /
    * (master)
    |\
    | *
    | *
    |/
    *
    *
    *
    
    Run Code Online (Sandbox Code Playgroud)

  • 如果第一个分支被拒绝会发生什么? (5认同)
  • 我通常将`user_story_2`重新命名为`master`:`git rebase --onto master user_story_1 user_story_2` - 如果两个分支不完全独立,可能会导致冲突. (4认同)

Ath*_*eti 16

我对此的首选工作流程:

  1. 在分支主机上,git checkout -b user_story_1.
  2. 对 进行更改user_story_1
  3. user_story_1.打开 PR 。
  4. 在分支上user_story_1git checkout -b user_story_2
  5. 对 进行更改user_story_2
  6. 一旦user_story_1合并到 master,切换到user_story_2并执行git rebase -i master
  7. 这应该向您显示user_story_2要包含在 rebase中的提交列表。删除来自user_story_1.
  8. 除非 master 更新了其他更改,否则 rebase 应该干净地完成。现在你已经user_story_2重新基于 master 并且只有它的提交。

  • 如果他们要求对 PR user_story_1 进行一些更改,下一步该怎么做。 (7认同)

Ste*_*ter 6

为您的每个故事/功能从主人创建一个新分支.

在合并每个分支之前,要么将master合并到该分支中,要么将分支重新绑定到master上.后者有我的偏好,但最终结果是一样的.

你将会遇到冲突,没有办法解决这个问题.但是,您想要解决分支中的冲突; 不在主人.这样,您可以在解决冲突之后测试您的分支,然后再将其合并到master中.

  • 只要你从你的旧分支创建一个新的分支,并且**在你同步了主人之后重新定位**(参见接受的答案),就不会有冲突. (2认同)