【发布时间】:2021-10-29 07:45:54
【问题描述】:
我是使用 git 子树的新手。我掌握了所有基础知识,包括将超级和子项目代码组织在单独的提交中。
但是,将子项目提交保留为父存储库提交历史的一部分是最佳做法吗?
如果提交只包含对子项目代码的更改,为什么要保留它作为父历史记录的一部分?
如果不应该,从日志中清除它们的最佳方法是什么?
【问题讨论】:
标签: git git-subtree
我是使用 git 子树的新手。我掌握了所有基础知识,包括将超级和子项目代码组织在单独的提交中。
但是,将子项目提交保留为父存储库提交历史的一部分是最佳做法吗?
如果提交只包含对子项目代码的更改,为什么要保留它作为父历史记录的一部分?
如果不应该,从日志中清除它们的最佳方法是什么?
【问题讨论】:
标签: git git-subtree
子项目是父项目的一部分,因此您无法将其从历史记录中删除。但是,当您使用子项目的更新来更新父项目时,通常的做法是不在您的主存储库中存储子项目的整个历史记录。您通常使用--squash。但是你不能避免在你的历史中拥有一个提交,因为它本质上是父级的一部分。
也许本教程会有所帮助 https://www.atlassian.com/git/tutorials/git-subtree
【讨论】: