我想知道我的本地回购是否是最新的(如果没有,理想情况下,我希望看到更改)。
如果不做git fetch
或git pull
,我怎么能检查这个?
试试git fetch --dry-run
手册(git help fetch
)说:
--dry-run
Show what would be done, without making any changes.
您可以使用git status -uno
检查您的本地分支机构是否与原始分支机构保持同步。
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 fetch
会如何受伤,因为它不会改变你当地的任何分支机构。
您需要发出两个命令:
在将本地存储库与远程服务器上的文件进行比较之前,必须运行git fetch
。
此命令仅更新远程跟踪分支,在调用git merge
或git pull
之前不会影响您的工作树。
要获取本地分支和远程跟踪分支之间的区别,您可以使用git diff or git cherry as explained here.
另一种方法是使用git show-branch remote/branch
查看远程分支的状态,将其用作比较,您可以看到git show-branch *branch
在所有远程控制器和存储库中查看分支!看看这个答案更多https://stackoverflow.com/a/3278427/2711378
这是不可能的。如何在不进入远程存储库的情况下知道存储库是否为“最新”,以查看“最新”甚至意味着什么?
首先使用git remote update
,让您的遥控器更新。然后你可以做以下几件事之一,例如:
git status -uno
会告诉你,你跟踪的分支是在前面,后面还是分歧。如果没有说什么,本地和远程都是一样的。git show-branch *master
将向您显示所有名称以“master”结尾的分支(例如master和origin / master)中的提交。如果你使用-v与git远程更新(git remote -v update),你可以看到哪些分支已经更新,所以你真的不需要任何进一步的命令。