来自多个Git回购的单个变更日志

来自多个Git回购的单个变更日志,git,changelog,Git,Changelog,我不知道这个问题是否已经得到了回答,但我找不到问题的答案。 示例场景如下所示: 开发者1负责项目A 开发者2在项目B上工作 两位开发人员都从事项目C(共享库所在的位置) 开发人员1希望从项目a和项目C的提交中生成日志(由他进行的提交) 我看到过定制脚本,但我想知道是否有办法只使用Git(windows)来实现这一点。如果开发人员不想混淆内容,他们可以设置一个新项目,链接这两个repo的远程,然后运行:Git log--all--author=“我的名字”。这将为两个项目上的所有分支提供日志。Gi

我不知道这个问题是否已经得到了回答,但我找不到问题的答案。 示例场景如下所示:

开发者1负责项目A

开发者2在项目B上工作

两位开发人员都从事项目C(共享库所在的位置)

开发人员1希望从项目a项目C的提交中生成日志(由他进行的提交)


我看到过定制脚本,但我想知道是否有办法只使用Git(windows)来实现这一点。

如果开发人员不想混淆内容,他们可以设置一个新项目,链接这两个repo的远程,然后运行:
Git log--all--author=“我的名字”
。这将为两个项目上的所有分支提供日志。

Git本身没有方便的方法来做您想要做的事情。如果使用正确,肯定有一组函数可以做你想做的事情。幸运的是,很少有git扩展已经实现了这一功能

Git
子树
是Git发行包的一部分,允许将另一个项目回购映射到主项目回购中。它允许在主项目、项目和子项目之间映射历史记录。它似乎是解决您的问题的一个很好的候选人

它是作为一个非常简单的脚本实现的,并且有一些缺点。例如,映射信息不会通过克隆传递。这已通过“git subrepo”脚本解决。所以,这可能是你的第二个候选人


Git子模块不提供历史映射,很可能在您的情况下很难使用

git log--all--author=“my name”仅显示项目A的提交,而不是我所做的项目Cyes的提交。我从另一个开发者那里得到了答案,他说,Git中没有这样的东西,我必须添加项目C,因为子模块子模块有单独的历史记录,所以它们不会为您工作。您可以在一个repo上设置多个repo(远程)。。。没有规定他们必须属于同一个项目。。。在正常情况下,在一次回购中使用不相关的东西并不是最好的主意,但考虑到你想在一次交易中看到两次不相关回购的历史,你最好在一次回购中设置两个遥控器(就像我在食谱中说的那样)。因此,阅读
git-help-remote
,让他们将您需要的任何回购添加到单个回购中(使用
git-remote-add
),然后将它们全部提取出来,运行
git-log--all--author=“我是谁”
,然后开心起来。在所有这些语句之前加上一个“请”字,这样听起来就不会那么霸道了。。。。请-你敢说所有的项目都在不同的git存储库中吗?是的,它们是独立的,没有本地git特性允许你这样做。子模块在这里没有帮助。”“子树”可能有用。还可以看看git‘subrepo’。@Serge subtree解决了我的问题。你能把这个作为一个答案贴出来,这样我就可以接受了吗?@Sinan楒etinkaya很高兴知道它对你有用。我补充了答案。