如何在PR之后让git功能分支与master保持同步

时间:2016-04-26 14:46:17

标签: git

我有一个功能分支,它可以在非常活跃的主分支上运行。

在推到我的遥控器之前,我一直在和主人讨价还价。我现在和主人一起开了我的分店。

有哪些建议的方法可以使我的功能分支与master保持同步,因为这仍然是一项正在进行的工作?

  • 我不相信如果有人拉动并更新我的分支机构,我应该继续修改。
  • 从现在开始,当我想再次推动我的分支时,我最好将master合并到我的功能分支中吗?
  • 我不会担心正常掌握的变化,但这是一个正在进行中的PR,我的分支最终会变得过时与主人。
  • 或者我不应该担心它,并在合并时处理冲突,如果有的话?

我正在开展一个拥有大型团队和活跃的主分支的新项目,所以我以前没有遇到过这个问题。

3 个答案:

答案 0 :(得分:1)

让“特色”分支更新的流程是下一个:

git checkout feature-branch
//working on a feature
git add --all
git commit -m "commit message"
git fetch upstream master
git rebase upstream/master
// fix conflicts if exists
//working on a feature (doing add + commit)
git push origin feature-branch

使用master(或其他任何需要的分支)重新定位您的功能分支是一种正确的最新方式

答案 1 :(得分:0)

基本上这样做非常好:

  1. 将更改提取到PR分支:git pull
  2. 确保您的母版已更新:git fetch origin master
  3. 合并大师:git merge origin/master -m 'master sync'

答案 2 :(得分:0)

当master进行较大的更改后,我将master更新到我的私有分支,之后我进行了大量更改(并且所有测试都正常,然后我再次运行测试并修复所有被破坏的内容)并且肯定会合并master到我的分支(并运行测试并修复)之前我会尝试将它合并回主人。

但是我通常在每天的开头合并大师,以便紧密同步。而且我倾向于保持我的分支小而短,就像一个功能需要一样大(包括所有相关的变化)。

如果我可以改进两件事,我会为每一件事开始分支。稍后发现问题比较简单,每个分支相对较小且封闭,然后使用分支,这会产生太多不相关的变化。

我有责任在州内进行分支,在完全合作之前,它可以快速掌握,然后才能合并。

(顺便说一下,我们的模型是“超级稳定”的制作,像1.0.1,1.0.2 ......那样的南瓜,然后是稳定的开发,每个产品合并回来,然后是“私人和实验”功能分支,在完成并经过测试后,它们被压扁了。

因此,我们的开发看起来像小提交系列,其中每个只在一个和蔼的步骤中解决了一个问题:) 如果出现问题,二分相对较快并直接导致问题根源,因为根本没有完成中途或未完成提交。)

我的工作流程就像

git checkout -b f_improve_bar
[:
    [:
    hack, hack, hack
    test
    :]
merge origin/master
test
:]
git checkout master
git merge --squash f_improve_bar
test
git commit -am "merged f_improve_bar"