git pull-Git:如何检查本地存储库是否最新?

我想知道我的本地仓库是否是最新的(如果不是,理想情况下,我想查看更改)。

如果不进行git fetchgit pull怎么办?

Misha Moroshko asked 2020-02-21T02:26:48Z
9个解决方案
66 votes

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

--dry-run
Show what would be done, without making any changes.
Philip Oakley answered 2020-02-21T02:38:59Z
16 votes
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) <-------
jim smith answered 2020-02-21T02:39:19Z
11 votes

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

flowdee answered 2020-02-21T02:39:40Z
5 votes

并非如此-但我看不到git fetch不会造成任何伤害,因为它不会更改您的任何本地分支机构。

Niclas Kirschmeier answered 2020-02-21T02:40:00Z
4 votes

另一种选择是使用以下命令查看远程分支的状态使用git show-branch remote/branch进行比较,您可以看到git show-branch *branch来查看所有遥控器和存储库中的分支! 查看此答案以获取更多信息[https://stackoverflow.com/a/3278427/2711378]

Amanuel Nega answered 2020-02-21T02:40:21Z
3 votes

您需要发出两个命令:

  1. git获取来源
  2. git状态
user3695833 answered 2020-02-21T02:40:49Z
2 votes

必须先运行git merge,然后才能将本地存储库与远程服务器上的文件进行比较。

该命令仅更新您的远程跟踪分支,并且不会影响您的工作树,直到您致电git mergegit pull

若要查看提取后的本地分支和远程跟踪分支之间的区别,可以按照此处的说明使用git diff或git cherry。

braitsch answered 2020-02-21T02:41:19Z
2 votes

首先使用git remote update,以使您的远程引用保持最新。 然后,您可以做几件事之一,例如:

  1. git show-branch *master会告诉您是否要跟踪的分支领先,落后或分歧。 如果什么也没说,本地和远程是一样的。
  2. git show-branch *master将向您显示所有名称以“ master”结尾的分支(例如master和origin / master)。

如果将-v与git remote update(git remote -v update)一起使用,则可以看到更新了哪些分支,因此您实际上不需要任何其他命令。

Piyush Agarwal answered 2020-02-21T02:41:53Z
0 votes

这是不可能的。 您如何知道存储库是否为“最新”,而不必去远程存储库查看“最新”的含义?

Jörg W Mittag answered 2020-02-21T02:42:13Z
translate from https://stackoverflow.com:/questions/7938723/git-how-to-check-if-a-local-repo-is-up-to-date