Git:如何检查本地回购是否是最新的?

问题描述 投票:40回答:9

我想知道我的本地回购是否是最新的(如果没有,理想情况下,我希望看到更改)。

如果不做git fetchgit pull,我怎么能检查这个?

git git-pull git-fetch
9个回答
58
投票

试试git fetch --dry-run手册(git help fetch)说:

--dry-run
Show what would be done, without making any changes.

8
投票

您可以使用git status -uno检查您的本地分支机构是否与原始分支机构保持同步。


8
投票
git remote show origin

结果:

HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date) <-------

5
投票

不是真的 - 但我不知道git fetch会如何受伤,因为它不会改变你当地的任何分支机构。


3
投票

您需要发出两个命令:

  1. git fetch origin
  2. git状态

2
投票

在将本地存储库与远程服务器上的文件进行比较之前,必须运行git fetch

此命令仅更新远程跟踪分支,在调用git mergegit pull之前不会影响您的工作树。

要获取本地分支和远程跟踪分支之间的区别,您可以使用git diff or git cherry as explained here.


2
投票

另一种方法是使用git show-branch remote/branch查看远程分支的状态,将其用作比较,您可以看到git show-branch *branch在所有远程控制器和存储库中查看分支!看看这个答案更多https://stackoverflow.com/a/3278427/2711378


1
投票

这是不可能的。如何在不进入远程存储库的情况下知道存储库是否为“最新”,以查看“最新”甚至意味着什么?


0
投票

首先使用git remote update,让您的遥控器更新。然后你可以做以下几件事之一,例如:

  1. git status -uno会告诉你,你跟踪的分支是在前面,后面还是分歧。如果没有说什么,本地和远程都是一样的。
  2. git show-branch *master将向您显示所有名称以“master”结尾的分支(例如master和origin / master)中的提交。

如果你使用-v与git远程更新(git remote -v update),你可以看到哪些分支已经更新,所以你真的不需要任何进一步的命令。

© www.soinside.com 2019 - 2024. All rights reserved.