在处理多个子模块时查找特定分支

时间:2014-12-26 08:04:04

标签: git

我正在开发一个由多个子模块组成的项目。假设有20个子模块。现在,特定票证需要module_3, and module_4, and module_7中的一些更改。所以我在branch_ticket_x上为该票证创建了一个分支(比如module_3, and module_4, and module_7),做了我的更改并提交了代码(尚未推送它)。 在那个特殊的时刻,我的经理来了,并在另一个项目上为我分配了另一个xyz任务。不幸的是,这项任务耗时很长当我回到我的旧项目时,我忘记了以前工作的模块,但我知道我用branch_ticket_x名称创建了分支。那么有什么方法或git命令,我可以找到我之前工作的模块。

如果这是一个重复的问题,请给我解决方案的链接。

3 个答案:

答案 0 :(得分:3)

git submodule -q foreach '
        git rev-parse -q --verify branch_ticket_x >&- && echo $name || true'

如果使用变量并不合适,您也可以git rev-parse --show-toplevel而不是echo $name

答案 1 :(得分:0)

您可能想尝试ls-tree

git ls-tree <commit-SHA>

答案 2 :(得分:0)

如果路径/文件名不同,则可以

$ git log --name-only branch_ticket_x

这将列出您作为提交的一部分而触及的文件