基于评论的更新问题:
项目 P,由子模块/迷你项目 A、B、C、D、E 组成。
请注意,A、B、C、D、E 是包含自己项目的目录,例如 A:Web,B:分析 C:Devops D:does_somethings E:Extra_features 等等。换句话说,每个 AE 都是它自己的存储库。
A 可以有由 user1 创建或检出的 b1,b2,b3 分支。
B 可以有 x1,x2,x3 分支,同样由 user1 执行。等等。
所以每个子文件夹 A、B、C、D、E 可以有多个未合并/合并的分支。
我的问题是,是否有一个命令会自动告诉我哪个分支在 P.
现在我正在cd进入每个子文件夹,然后输入 'git branch'。
所以如果我有 10 个子文件夹,我必须 cd 进入它们 10 次,然后再执行 git branch 10 次。
我查了一下:https : //stackoverflow.com/a/2421063/4590025
git log --graph --pretty=oneline --abbrev-commit
但这不是我要找的。
我正在寻找类似鸟瞰图的东西。
Git 一次只能在一个存储库上工作。
存储库包括对象和参考数据库和其他文件的如描述的文档。普通(非裸)存储库只有一个工作树,您可以在其中完成工作。
工作树可以包含子目录,但这些只是工作树中的目录。
工作树还可以包含作为子目录的子模块。这些本身就是 Git 存储库,但被包含的超级项目(更高级别的 Git 存储库)引用。如果您正在使用子模块,则有用于处理每个子模块的 Git 命令(例如,git submodule foreach)。本质上,这些在子存储库中运行子命令。 有关git submodule详细信息,请参阅文档。 这只是自动化了我将在下一段中提出的建议。如果是git submodule foreach自己使用,还是要自己写命令。
否则,例如,您有一个包含N 个子目录的顶级目录,每个子目录都是一个独立的存储库,您必须在每个子目录中运行N 个单独的git命令来检查独立的存储库。没有 Git 命令可以做到这一点。不过,编写一个执行此操作的shell命令(带有循环)非常简单:
for i in */; do \
(cd $i && echo -n "${i}: " && git rev-parse --abbrev-ref HEAD); \
done
Run Code Online (Sandbox Code Playgroud)
(这假设 BSD 或 Linux 兼容echo)。
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |