Git 合并后保留分支的历史记录
对不起,这里是初学者。我有两个分支,Git 合并后保留分支的历史记录,git,Git,对不起,这里是初学者。我有两个分支,feature和first feature。我在第一个功能中提交了10次,然后将所有内容合并回功能。我想知道,对于Git工作流,以下两种场景中哪一种最常见,或者哪一种是错误的 A) 第一个功能的10次提交是否也显示在功能的历史记录中 或 B) 功能只有一个表示新功能的提交 非常感谢您的帮助 合并两个分支时,git merge保留对合并分支所做的所有提交,除非使用squash标志。例如,如果您有一个功能分支,当您将其合并到主分支时,它有3个提交,那么所有这些提交
feature
和first feature
。我在第一个功能
中提交了10次,然后将所有内容合并回功能
。我想知道,对于Git工作流,以下两种场景中哪一种最常见,或者哪一种是错误的
A) 第一个功能的10次提交是否也显示在功能的历史记录中
或
B) 功能
只有一个表示新功能的提交
非常感谢您的帮助 合并两个分支时,git merge
保留对合并分支所做的所有提交,除非使用squash标志。例如,如果您有一个功能分支
,当您将其合并到主分支
时,它有3个提交,那么所有这些提交都将显示在主分支
历史记录上,并且这些提交将一直显示在主分支
之上
编辑:
保存历史有一些好处:
- 它允许您保留任何给定功能的提交历史记录,而不必担心覆盖提交和更改历史记录。它可以帮助您避免不必要的git恢复或重置李>
- 不同的功能保持隔离,不会干扰现有的提交历史记录
- 可以帮助您重新集成已完成的功能分支
另一方面,如果您更看重干净的线性历史,那么git-rebase
或squash标志可能是最合适的。您将避免不必要的提交,并使更改更加集中和线性化 合并两个分支时,git merge
保留对合并分支所做的所有提交,除非使用squash标志。例如,如果您有一个功能分支
,当您将其合并到主分支
时,它有3个提交,那么所有这些提交都将显示在主分支
历史记录上,并且这些提交将一直显示在主分支
之上
编辑:
保存历史有一些好处:
- 它允许您保留任何给定功能的提交历史记录,而不必担心覆盖提交和更改历史记录。它可以帮助您避免不必要的git恢复或重置李>
- 不同的功能保持隔离,不会干扰现有的提交历史记录
- 可以帮助您重新集成已完成的功能分支
另一方面,如果您更看重干净的线性历史,那么git-rebase
或squash标志可能是最合适的。您将避免不必要的提交,并使更改更加集中和线性化 除非明确指定,否则不会压缩提交
所以
将复制个人提交
鉴于
git checkout feature
git merge --squash first-feature
git push
将创建一个合并提交
通常,建议挤压以保持提交历史记录的干净 除非明确指定,否则不会压缩提交
所以
将复制个人提交
鉴于
git checkout feature
git merge --squash first-feature
git push
将创建一个合并提交
通常,建议挤压以保持提交历史记录的干净 谢谢!我刚刚找到了squash
来“删除/隐藏”它们。您描述的场景更常见吗?或者为什么我会对该功能的开发历史感兴趣?谢谢!我刚刚找到了squash
来“删除/隐藏”它们。您描述的场景更常见吗?或者为什么我会对该功能的开发历史感兴趣?最后一句话起了作用。谢谢@丹尼尔斯特芬的“干净的历史”在旁观者的眼中/一般来说,建议挤压/挤压不是一个好建议。无论是否挤压,都应遵守项目的政策。在我有权力的项目中,挤压是被禁止的,因为它没有任何好处(在我看来)。最后一句话起了作用。谢谢@丹尼尔斯特芬的“干净的历史”在旁观者的眼中/一般来说,建议挤压/挤压不是一个好建议。无论是否挤压,都应遵守项目的政策。在我有权力的项目中,挤压是被禁止的,因为它没有任何好处(在我看来)。