我有一个功能分支,它可以在非常活跃的主分支上运行。
在推到我的遥控器之前,我一直在和主人讨价还价。我现在和主人一起开了我的分店。
有哪些建议的方法可以使我的功能分支与master保持同步,因为这仍然是一项正在进行的工作?
我正在开展一个拥有大型团队和活跃的主分支的新项目,所以我以前没有遇到过这个问题。
答案 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)
基本上这样做非常好:
git pull
git fetch origin master
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"