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

我想知道我的本地回购是否是最新的(如果不是,理想情况下,我希望看到的变化)。

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

196574 次浏览

如果不使用 git fetchgit pull,这是不可能的。如果不去远程存储库查看“最新”是什么意思,您如何知道存储库是否是“最新的”?

不尽然——但我不认为 git fetch会有什么坏处,因为它不会改变你当地的任何分支机构。

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

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

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

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

要查看本地分支和远程跟踪分支之间的差异,可以使用 Git diff 或 Git 樱桃,正如这里所解释的。

您可以使用 git remote update; git status -uno检查您的本地分支是否与原始分支一致。

另一种方法是使用以下命令查看远程分支的状态 使用 git show-branch remote/branch作为比较,您可以看到 git show-branch *branch在所有远程以及您的存储库中查看分支!点击此处查看更多 https://stackoverflow.com/a/3278427/2711378

你需要发出两个命令:

  1. 快去找起源
  2. Git 状态
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) <-------

首先使用 git remote update,使您的远程参考最新。然后你可以做以下几件事情中的一件,比如:

  1. git status -uno将告诉您正在跟踪的分支是否 前、后或已分道扬镳。如果它什么也不说,本地和 远程是相同的,结果样本如下:

在分公司

您的分支落后于“原产地/发展”7次提交,并且可以快进。

(使用“ git pull”更新本地分支)

  1. git show-branch *master将向您显示所有 名称以「主人」结尾的分行(例如主人及原产地/主人)。

如果将 -v与 git 远程更新(git remote -v update)一起使用,就可以看到哪些分支得到了更新,因此实际上不需要任何进一步的命令。

如果你用

git fetch --dry-run -v <link/to/remote/git/repo>

你会得到关于它是否是最新的反馈。所以基本上,您只需要在前面给出的答案中添加“冗长”选项。

git fetch origin
git status

你会看到这样的结果

您的分支在9次提交之后位于“ source/master”之后

更新到远程更改

git pull
 

git remote show origin




Enter passphrase for key ....ssh/id_rsa:
* remote origin
Fetch URL: git@github.com:mamaque/systems.git
Push  URL: git@github.com:mamaque/systems.git


HEAD branch: main
Remote branch:
main tracked
Local ref configured for 'git push':

main pushes to main (up-to-date) 都是最新的
远程可以用本地更新
main pushes to main (local out of date) 本地可以用远程更新 < br >