git - 子树合并后的 git log
问题描述
我通过执行所谓的subtree merge成功地将一个 git 子存储库合并到一个主要的子文件夹中。
说,类似的东西:
/project_B-git
+--src/
/main-repo-git
+--subproject_A/
+--subproject_B/ <--- SUBTREE MERGE
+--src/
现在我的问题是我不能将主仓库中的日志历史限制为仅导入仓库的子历史:
原始项目中的历史:
project_B-git$ git log --oneline
* 76543210 Say hello, wave goodbye.
* 01234567 A message to you Rudy.
合并后主仓库中的完整历史记录:
main-repo-git$ git log --oneline --graph
* 646bf9bb Merge subproject_B.
|\
| * 76543210 Say hello, wave goodbye.
| * 01234567 A message to you Rudy.
|
* f71fdb10 Init.
我现在得到的过滤历史:
main-repo-git$ git log --oneline --graph -- subproject_B/
* 646bf9bb Merge subproject_B.
* f71fdb10 Init.
因此,您会看到,当我按路径过滤历史记录时,我只看到合并提交,“丢失”了所有subproject_B的历史记录。我想得到:
* 646bf9bb Merge subproject_B.
* 76543210 Say hello, wave goodbye.
* 01234567 A message to you Rudy.
我试图通读git-log
's 的手册页,但我看不到选择给定合并分支的方法,因此我可以要求 git 跟随另一个分支(--left-only
/--right-only
选项不起作用)。
解决方案
推荐阅读
- javascript - 仅在将鼠标悬停在复选框链接上时显示文本描述
- python - 我如何证明一个特定的序列算法总是奇怪的?
- ruby-on-rails - 如果已经为用户运行,Rails 6 防止多模型逻辑启动的方法是什么?
- function - 将随机浮点值重新映射到对数刻度
- flutter - 如何转换列表
Dart 中的 Int64 的 64 个值? - angular - Angular 12/Webpack 在构建后将 css 注入到我的 index.html 中,而不是链接 scss 文件。这使我的全局样式无法使用
- java - 我的按钮 onClickListeners 在我的片段活动中不起作用
- asp.net-core - 使用带有 asp.net 核心 Webapi 项目的 hangfire 的 Cron 作业
- flutter - 如何解决“参数类型'对象?' 不能分配给参数类型 'String'.dart(argument_type_not_assignable)"?
- python - 如何将 parse 函数的信息返回给 start_requests 函数?