我只将Git用于单一项目。现在我想继续与另外两个开发人员合作开发一个项目。
如果一个开发人员想要提交更改但是另一个开发人员创建了另一个提交,是否会导致问题?因此,为我们每个人创建一个分支是否有意义?
答案 0 :(得分:28)
无需为每个用户创建分支。我甚至会说这会适得其反。如果您正在使用相同的功能,您可能希望通过拉动和合并来获得彼此的更改。为每个用户创建分支是多余的,会使事情不必要地复杂化。
您描述的提交情况不成问题。如果另一个用户在与您相同的分支上创建了新提交,则在尝试push
时将停止。相反,您首先必须pull
关闭其他用户的提交,并将您的工作与这些更改合并(或重新绑定)。这是git pull
的标准行为。
通常的做法是主要根据功能创建分支。如果您需要有关分支的指导,this is a popular strategy。
答案 1 :(得分:6)
我们曾经在我工作的地方这样做。我们每个人至少有一个个人分支 - 我实际上为我必须完成的每项任务创建了一个分支。
当我们完成后,我们会将请求拉到主分支。如果某人已合并到与您的更改冲突的主分支代码中,您必须像使用任何其他源代码控制平台(如Tortoise,Mercurial等)一样进行冲突解决,但如果您的开发人员知道这一点并不重要他们正在做什么。
IMO这是在团队中进行开发的最佳方式。您可以随时在自己的个人环境中进行测试,并根据需要快速从每个分支中获取代码。拉取请求系统也使同行评审变得更加简单,因为每个人都可以直接在github差异页面中协作并在相关行上写评论。