Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git中管理分支_Git_Github - Fatal编程技术网

在Git中管理分支

在Git中管理分支,git,github,Git,Github,我正在从事一个项目,其中我们有三名程序员,包括我自己在三个不同的分支上工作,每个分支一名。现在,当我们在我们正在工作的分支中推动我们的更改时,其他程序员是否应该在每次我们中的一个推动我们自己的分支时拉动更改?或者可以继续处理我们自己的分支,直到我们达到最终状态,并最终合并这三个分支?作为一般规则,我建议避免并行开发分支持续更长的时间,因为理解和合并旧代码更改要困难得多。相反,要有一个参考分支,例如主分支,作为短期特征分支的基础。一个工作单元完成后,将其合并回主单元。这将减少冲突的可能性,即使发生

我正在从事一个项目,其中我们有三名程序员,包括我自己在三个不同的分支上工作,每个分支一名。现在,当我们在我们正在工作的分支中推动我们的更改时,其他程序员是否应该在每次我们中的一个推动我们自己的分支时拉动更改?或者可以继续处理我们自己的分支,直到我们达到最终状态,并最终合并这三个分支?

作为一般规则,我建议避免并行开发分支持续更长的时间,因为理解和合并旧代码更改要困难得多。相反,要有一个参考分支,例如主分支,作为短期特征分支的基础。一个工作单元完成后,将其合并回主单元。这将减少冲突的可能性,即使发生冲突,也应该更容易解决,因为最近已经完成了相关编码


也就是说,有许多方法可以围绕您的开发过程组织分支。在不了解您的需求的情况下,这个答案只能作为一个起点。

我们保持主分支的完整性,没有中断的代码,没有半功能,按照产品用户将看到的方式对待主分支

之后,这取决于您的开发环境有多复杂,但在合并到master之前用于开发单个功能的开发人员分支通常有点混乱,正如您所说,多人参与代码开发。每次发送代码时,您都会面临解决冲突问题的风险,这些问题可以通过结构良好的文件结构来缓解


因此,每次我们在分支中完成一个工作单元时,我们都应该在继续为同一分支中的新工作单元开发之前将其合并为master?我提到了短期特性分支,因为它们往往比长期特性分支更易于管理,例如特定于开发人员的分支。这些将不得不通过合并或重新设置基础来保持最新,这可能会随着时间的推移变得混乱。维护它们是可能的,但它需要更多的努力和纪律。我明白了,谢谢你的建议!不客气!如果解决了您的问题,请将答案标记为已接受。您的分支是否针对每个程序员?我推荐针对手头工作/问题/功能的分支。然后,在将这些合并到main之后,删除分支。