Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 - Fatal编程技术网

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
来“删除/隐藏”它们。您描述的场景更常见吗?或者为什么我会对该功能的开发历史感兴趣?最后一句话起了作用。谢谢@丹尼尔斯特芬的“干净的历史”在旁观者的眼中/一般来说,建议挤压/挤压不是一个好建议。无论是否挤压,都应遵守项目的政策。在我有权力的项目中,挤压是被禁止的,因为它没有任何好处(在我看来)。最后一句话起了作用。谢谢@丹尼尔斯特芬的“干净的历史”在旁观者的眼中/一般来说,建议挤压/挤压不是一个好建议。无论是否挤压,都应遵守项目的政策。在我有权力的项目中,挤压是被禁止的,因为它没有任何好处(在我看来)。