2011-10-29 137 views

回答

46

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

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

谢谢!虽然很难从输出中了解哪些文件被添加/修改/删除。 –

+0

您可以查看更新的标签以及各个分支的start..end提交范围。如果这还不够,那么做一个适当的提取(不拉),这将给你一个适当的,单独的,本地的远程副本,而不会影响你自己的分支工作。拉会试图合并这两个,这不是你想要的。数据传输是相同的,不管你是否干过。 –

0

这是不可能的。如何知道存储库是否是“最新的”,而无需去远程存储库查看“最新”甚至意味着什么?

+2

请确认!你只是回答你的想法!你应该更小心,因为新手会跌倒! –

+3

@AmanuelNega:这只是基本的逻辑。如果你想知道你的本地回购是否与远程回购处于同一状态,你需要知道远程回购的状态。期。如果您不知道远程回购的状态,则不可能知道本地回购是否处于相同状态。请注意,最高的投票和接受的答案使用'git pull',OP明确禁止他的问题。 –

+1

被通知! 'git status -uno'可以工作,也可以使用'git show-branch * master'查看所有主分支的状态!你还在说这是不可能的吗?只要你有权访问远程,你就可以看到任何分支的状态! –

5

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

2

必须运行git fetch之前,您可以在远程服务器上对文件进行比较的本地仓库。

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

要查看您的本地分支,远程追踪分支之间的差异,一旦你取你可以使用git diff or git cherry as explained here.

5

可以使用git status -uno来检查,如果你的本地分支上最新与原点一个。

+3

它只给出本地状态,不检查远程分支。 –

2

另一种方法是使用 git show-branch remote/branch使用它作为一个比较,你可以看到git show-branch *branch看到所有遥控器的分支,以及你的资料库查看远程分支的地位!看看这个答案更https://stackoverflow.com/a/3278427/2711378

1

你需要发出两个命令:

  1. 混帐取起源
  2. git的状态
0

使用

git pull 

如果你的分支是最新的,您将收到以下消息:

“已经是最新的”。

2
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) <------- 
相关问题