如果master不同步,Git签入分支

时间:2012-01-09 09:05:21

标签: git branch master

最近从svn转到git,原谅我的新手问题。

在我们的发布过程中,我们针对主(和开发分支)进行编码,我们每隔几周发布一次,在那个时间点,我们创建一个分支并针对该分支发布。

错误修复继续进行分支,我们使用这些修复程序更新发布服务器。

现在,当我尝试在git中执行此操作并尝试将更改提交到发布分支时,它不会让我提交并将更改推送到分支,除非我的主服务器与origin / master同步。如果有许多发布分支,这会变得混乱,现在我必须确保它们中的每一个都是同步的,然后才能修复发行版中的错误并将其检入。

你如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

我的团队目前正在按照您在SVN中描述的那样执行发布。针对主干,分支和释放的代码。

使用Git,工作流程发生了变化 - master与生产相匹配,永远不会被触及,创建和删除分支是无痛的,并且在Git中“便宜的芯片”,因此每个更改/修补程序/开发总是针对一个科。这也使您可以单独跟踪每个开发。

完成开发并进行测试后,合并master,标记和发布。对于Hot Fix,请分支master,测试,发布并合并到master

对于在其他分支机构开发的人员,可以使用merge轻松地将分支机构恢复到最新状态。

看看github是如何使用git开发的,这是一个非常有趣的读物,可以回答你的问题 - https://github.com/usm-data-analysis/usm-data-analysis.github.com/wiki/Developing-with-git

答案 1 :(得分:0)

你只是在做“git push”吗?您可以使用“git push origin somebranch”推送单个分支(而不是所有具有匹配名称的分支)。

答案 2 :(得分:0)

您使用的是普通git push。默认情况下,git push将尝试推送每个分支。您可以将配置设置为使用push.default = tracking。

git config push.default tracking

git config --global push.default tracking

使用push.default = tracking,git push只会推送当前分支。