我正在帮助一些人参与一个项目,而我之前没有使用过Git,所以我很生疏,并希望得到正确的结果。我的git工作流是否正确并符合我的团队?
背景
没有分叉。我被建议直接复制回购,然后分支。
origin/master
包含当前版本
origin/develop
的产品代码包含了下一个版本
我的Git的工作流程草案
克隆的最新发展变化的代码回购本地机器:
$ git clone <origin-url>
创建新的分支:
$ git checkout -b newFeature develop
进行更改,阶段和提交它们:
$ git add . $ git commit -m "<message>"
更改推到远程newFeature分公司(此分支不但在原产地回购存在):
$ git push origin newFeature
提交pull request将
origin/newFeature
合并为origin/develop
。在接受拉请求删除本地分支:
$ git branch -d newFeature
问题
难道我就在想,我需要确保我的本地
develop
在推动我的之前,分支已经与origin/develop
保持同步分支?这样,我会帮助我的同事避免合并冲突,并允许快速合并?这样做的最佳方法是什么?我应该定期将
origin/develop
分支转移到本地计算机吗?Will Git会通知我,当我尝试推送分支时代码不是最新的?它会阻止推动吗?
是否有必要在第2阶段专门分支
develop
?如果我只是使用这个命令,这有什么关系吗?$ git checkout -b newFeature
我在批准PR后做的事情是将我的分行与当前的分行重新分配。所以我可以在本地解决合并冲突,我的分支是最新的开发。在此之后,我强制推回到我的原点/ newFeature并合并。 –
有一点需要注意,你可能需要'git push -u origin newFeature'来首次推送你的特性分支(尽管这取决于你的推送。默认'设置和Git版本:默认情况下这是自Git 2.0以来必需的,但在早期的Gits中不是这样)。 – torek