分支working-branch
进入development
分支是一个开放的拉取请求,分支是具有以下提交的主要分支之一:
Commit 1
Commit 2
Commit 3
现在,另一个开发人员选择了此拉取请求并进行了代码审查,然后他要求对每个示例的Commit 1
和Commit 3
进行更改。
开发人员创建Commit 4
,在其中实施所有反馈,并将其推送到回购中,该回购将依次出现在拉式请求提交历史记录中。
缺点,因为越来越多的反馈意见可能会应用于拉取请求,因此实际PR上的提交看起来像
Commit 1
Commit 2
Commit 3
Commit 4 (first round of feedback)
...
Commit n
Developer在本地创建新的提交,例如Commit 4
对Commit 5
的操作请求更改,而Commit 3
对Commit 1
Commit 2
Commit 3
Commit 4 -> contains updates from PR for Commit 1
Commit 5 -> Contains updates from PR for Commit 3
的操作更改(或者,甚至可能不存在提交5,因为他首先请求对提交3进行更改然后简单地对其进行修改)
git rebase HEAD~5 -i
然后,开发人员执行以下pick 1111111 Commit 1
pick 2222222 Commit 2
pick 3333333 Commit 3
pick 4444444 Commit 4
pick 5555555 Commit 5
并输出以下内容
Commit 4
并挤压Commit 5
和pick 1111111 Commit 1
f 4444444 Commit 4
pick 2222222 Commit 2
pick 3333333 Commit 3
f 5555555 Commit 5
{{1}}
在重新定基后,将按照最初的意图进行3次提交。
缺点
如果其他开发人员从您的分支机构分支出来,那么在此之后,他/她需要根据提交哈希值的变化来重新建立分支机构的基础(如果开发人员知道如何进行这种重新设置,这不是不利的一面)。
专业人士
历史,实施地点和实施方式的透明度更高。 更紧凑的历史记录(无需进行较小的更改即可提交其他提交)
您采用了哪种方法,您是否对上述观点有不同的看法? 您认为上述哪一种更好? 您是否知道任何外部链接(官方/非官方文档)告诉您使用一种方法或另一种方法。
我个人(和我们的内部团队)使用方法2。