我想知道我的本地回购是否是最新的(如果不是,理想情况下,我希望看到更改)。
如何在不git fetch
或git pull
?
答案 0 :(得分:58)
试试git fetch --dry-run
手册(git help fetch
)说:
--dry-run
Show what would be done, without making any changes.
答案 1 :(得分:8)
您可以使用git status -uno
检查您的本地分支机构是否与原始分支机构保持同步。
答案 2 :(得分: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) <-------
答案 3 :(得分:5)
不是 - 但我不知道git fetch
会如何受到伤害,因为它不会改变你当地的任何一个分支。
答案 4 :(得分:3)
您需要发出两个命令:
答案 5 :(得分:2)
这是不可能的。如何在不进入远程存储库的情况下知道存储库是否为“最新”,以查看“最新”甚至意味着什么?
答案 6 :(得分:2)
在将本地存储库与远程服务器上的文件进行比较之前,必须运行git fetch
。
此命令仅更新您的远程跟踪分支,在您致电git merge
或git pull
之前不会影响您的工作树。
要查看本地分支与远程跟踪分支之间的区别,您可以使用git diff or git cherry as explained here.
答案 7 :(得分:2)
另一种方法是使用查看远程分支的状态
git show-branch remote/branch
使用它作为比较,您可以看到git show-branch *branch
以查看所有遥控器以及您的存储库中的分支!查看此答案以获取更多https://stackoverflow.com/a/3278427/2711378
答案 8 :(得分:1)
试图格式化我的答案,但不能。请stackoverflow团队,为什么发布答案如此困难。
一无是处
answer:
git fetch origin
git status(您会看到类似“您的分支落后9个提交而位于'origin / master'之后的结果”)
更新为远程更改:git pull
答案 9 :(得分:1)
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 (fast-forwardable)
远程可以用本地更新
main pushes to main (local out of date)
本地可以通过远程更新
答案 10 :(得分:0)
首先使用git remote update
,以使您的远程引用保持最新状态。然后,您可以做几件事之一,例如:
git status -uno
会告诉您是否要跟踪的分支
领先,落后或分歧。如果什么也没说,本地和
远程是一样的。git show-branch *master
将向您显示所有
名称以“ master”结尾的分支(例如master和origin / master)。如果将-v与git remote update(git远程-v update)一起使用,则可以查看更新了哪些分支,因此您实际上不需要任何其他命令。
答案 11 :(得分:0)
如果您使用
git fetch --dry-run -v <link/to/remote/git/repo>
您将收到有关其是否最新的反馈。因此,基本上,您只需要在前面给出的答案中添加“详细”选项即可。