如何在git

时间:2015-05-06 23:25:41

标签: git

当我在我的工作区运行命令'git status'时,我收到以下消息:

# On branch master
# Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.

现在,如果我运行命令'git pull',工作区将使用origin / master上的文件进行更新。该命令还在屏幕上显示正在拉入的文件以更新我的工作区。

有没有办法在没有实际运行'git pull'命令的情况下确定此文件列表?

5 个答案:

答案 0 :(得分:4)

git diff --stat master origin/master可以解决问题。

如果将origin / master设置为master的上游分支,您也可以将其缩短为git diff --stat HEAD @{u}

答案 1 :(得分:3)

您可以对远程分支使用--stat的{​​{1}}标记。

git diff

这将显示已更改的文件列表以及删除/添加的行数。这也不会以任何方式更新您当前分支的参考。

答案 2 :(得分:1)

要查看已向上游主机添加了哪些提交,请使用git log作为过滤器运行origin/master。将显示提交。

  

git fetch
  git log --oneline master..origin/master

示例输出:
     2d8ad7d 修复了一大堆东西
     c1ee8ec 更新了一些值

然后使用commit id查看提交的文件。

  

git diff --no-commit-id --name-only -r 2d8ad7d
  
  git diff --stat -r 2d8ad7d

注意:此示例和您的解决方案正在跟踪远程分支origin/master。如果要跟踪其他分支,请在上面的命令中替换该分支名称。

答案 3 :(得分:0)

您可以使用此命令

git diff HEAD origin/your/feature/branch

鉴于您已在本地签出功能分支,并看到此消息Your branch is behind 'origin/your/feature/branch' by 1 commit, and can be fast-forwarded.

这显示了您的本地状态和远程功能分支之间的区别。

答案 4 :(得分:-1)

尝试git fetch和git reflog。 http://git-scm.com/docs/git-reflog