17

如何找出尚未推送到另一个存储库的工作。换句话说; 如果我要删除该存储库,我会永久丢失什么?

目前我使用以下 3 行,但我想知道这是否是一个完整的封面以及它是否是一种理智的方法:

git status --short
git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
git stash list

更新:似乎没有检查子模块。有没有办法递归地包含子模块?

4

2 回答 2

1

似乎没有检查子模块。有没有办法递归地包含子模块?

不容易,因为每个子模块都可以有自己的历史、分支集和上游 repo('origin' 甚至另一个名称)

如“包括/交错子模块提交的 Git 历史记录”中所述,git log --submodules仅指示父存储库当前引用的 SHA1。

这给您留下了一个递归命令,例如:

git submodule foreach git log
于 2013-02-28T12:28:27.697 回答
0

你可能喜欢类似的东西git show-branch --color=always -a --more=15

是您的*本地存储库,+表示其他存储库。如果 repo 中存在评论,*/+将表明它存在于那里。

您的master分支中存在但不存在的origin/master内容尚未推送。

于 2013-02-28T12:54:57.113 回答