2

在 Git 中,我希望能够一目了然地查看我的存储库和工作目录是否已过时。我经常犯的错误是只运行“git status”——但这根本不做任何远程通信。或者,我会这样做:

git fetch --all
git status

但这并没有显示其他分支机构的活动。

什么是获取信息的好方法,例如:

  1. 任何远程存储库中是否有此分支的更新?
  2. 是否有任何父分支的更新?
  3. 是否有任何新的分支 - 谁,等等。
4

2 回答 2

2

我建议使用gitk --all. 这将启动一个显示所有本地和远程分支的图形界面。在控制台模式下,我使用以下 git 别名:

graph = log --graph --all --decorate --oneline

但请注意,工作目录不要与分支混淆......我刚才所说的对于查看分支来说是正确的,但是工作目录中的更改(因此,未提交的东西)是完全不同的,并且git status正如你所说的那样。

于 2012-04-17T05:41:40.090 回答
1

由于分支创建实际上并未记录在任何地方,因此您无法获得“谁是谁”。(您可以找到谁拥有给定分支上的最新提交,但是,例如,如果该分支是作为另一个分支的同义词创建的,则提交通常与“谁创建它”无关。例如,如果我这样git push origin master:newbranch做我刚刚在遥控器上创建的分支,作为其最近的提交,与最近的提交相同master,这不一定是“我的”。)

不过,默认情况下,输出git fetch --all确实显示活动。例如:

$ git fetch --all
Fetching origin
Fetching rohan
From [redacted]
   55f37f2..dc439fc  master     -> rohan/master

这表示我刚刚根据我从名为“rohan”的遥控器带来的东西更新了我对 rohan/master 的想法。origin/* 中没有任何更新。

于 2012-04-17T03:51:22.163 回答