在瓷器模式下,git diff
会宣传子模块更改:
$ cd /opt/staging # This is the main Git repository
$ cd software/zemke-rhyne # This is a submodule
$ git pull
$ git diff
diff --git a/software/zemke-rhyne b/software/zemke-rhyne
index 0fff2fc..cb69287 160000
--- a/software/zemke-rhyne
+++ b/software/zemke-rhyne
@@ -1 +1 @@
-Subproject commit 0fff2fc52bdc2a62a2647110e712b1b3baa48613
+Subproject commit cb69287a3540054ff85cd14199cf36b4b5098c1a
哪些管道命令可以提供以下信息?
目标是自动化提交消息,通过git rev-list简要记录更新的子模块中的更改。
答案 0 :(得分:1)
要确定子模块是否已更新,可以使用
mainGrid = (GridLayout)getActivity().findViewById(R.id.mainGrid);
setSingleEvent0(mainGrid);
setSingleEvent1(mainGrid);
setSingleEvent2(mainGrid);
setSingleEvent3(mainGrid);
setSingleEvent4(mainGrid);
setSingleEvent5(mainGrid);
退出状态将指示子模块是最新的(0)还是过期的(1)。
例如,旧的哈希由$ git diff-files --quiet software/zemke-rhyne
显示:
ls-tree
另一种方式是
$ git ls-tree @ software/zemke-rhyne
160000 commit 0fff2fc52bdc2a62a2647110e712b1b3baa48613 software/zemke-rhyne
(有什么区别?如果有人可以发表评论,那将会很棒……)
还有一种方法可以找出子模块是否已更新 和先前的哈希。如果未修改子模块,则以下命令的输出为空,否则如下所示:
$ git ls-files -s software/zemke-rhyne
160000 0fff2fc52bdc2a62a2647110e712b1b3baa48613 0 software/zemke-rhyne
不幸的是,$ git diff-files software/zemke-rhyne
:160000 160000 0fff2fc52bdc2a62a2647110e712b1b3baa48613 0000000000000000000000000000000000000000 M software/zemke-rhyne
错过了展示最新哈希值的绝好机会。要查看它,我所能想到的就是在子模块目录中使用diff-files
。这似乎有点优雅和脆弱……
rev-list