如何确定git子模块实际上是在遥控器的前面还是后面?

时间:2014-03-14 10:47:24

标签: git git-submodules

我确实找到了一个在某种程度上回答这个问题的旧问题,但它并不完全有用:

how can I find out if a git submodule has new commits

大多数情况下,我希望自2012年以来git已经发生了变化,这更容易实现。

当我使用当前设置执行git status时,我会得到两种类型的输出。通常的行

modified: path/to/submodule (new commits)

关于像这样的子模块的一些额外信息

* path/to/submodule/
  < upstream repo
  < added more commits
  < you should update this submodule

* path/to/submodule/
  > These commits
  > don't exist upstream
  > you should commit this submodule

Git似乎确切地知道发生了什么,但我似乎没有自己确定这个的工具。

我的目标是了解每个子模块是否应该提交,更新或手动调查,因为那里有><的混合。我正准备写一个基于启发式的脚本,感觉很糟糕,所以感谢更好的想法。

$ git --version
git version 1.8.5.3

1 个答案:

答案 0 :(得分:0)

您可以尝试从父级回购:

git config status.submodulesummary -1
git status --long

这应该显示你的子模块的任何提交尚未推送到子模块upstream repo