在哪里可以看到 "git fetch" 的变化?

Where to see the changes with "git fetch"?

我很好奇如何在输入 "git fetch" 后查看更改。

我的研究告诉我,它允许您查看本地存储库是否与远程存储库保持同步,而无需更改本地存储库中的代码。但是,输入命令后在哪里可以查看更改?

例如我的同事提交了更改,我键入命令以查看我的本地存储库是否是最新的,它将显示什么以及将显示在哪里?

git fetch 从远程存储库获取更改并将它们存储在本地。每当您签出跟踪分支时,您应该会看到一条消息,说明它与跟踪的分支有何不同。例如:

mureinik@computer ~/src/git/commons-lang [somebranch] $ git fetch upstream
remote: Enumerating objects: 763, done.
remote: Counting objects: 100% (763/763), done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 1881 (delta 721), reused 747 (delta 713), pack-reused 1118
Receiving objects: 100% (1881/1881), 717.42 KiB | 758.00 KiB/s, done.
Resolving deltas: 100% (936/936), completed with 236 local objects.
From https://github.com/apache/commons-lang
   4f3d3b431..d82301acb  master     -> upstream/master
   09043bfa6..e389ce1ed  release    -> upstream/release
 * [new tag]             commons-lang-3.10-RC1 -> commons-lang-3.10-RC1
 * [new tag]             rel/commons-lang-3.10 -> rel/commons-lang-3.10
mureinik@computer ~/src/git/commons-lang [somebranch] $ git checkout master
Your branch is behind 'upstream/master' by 147 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

您还可以明确地看到与 git log 的区别:

mureinik@computer ~/src/git/commons-lang [master] $ git log master..upstream/master

如果远程调用 "origin"(你可以用 git remote -v 看到),你可以用 "origin" [=12] 检查你的 master 分支的变化=]分支

git diff master origin/master

您可以在远程提交中使用您想要的所有命令:log(如果您的提交在远程历史记录中,您可以查看历史记录并使用 --decorate 突出显示您的命令),show, ...

这绝对有效,

git diff master origin/master

而如果您只想查看执行 GIT PULL 时将修改哪些文件,请执行以下操作:

git fetch && git diff HEAD @{u} --name-only

如果您想查看当前版本和新版本之间的所有差异,包括未提交的本地修改,

git fetch && git diff @{u} --name-only

并且,

git log --all --oneline --graph

将为您提供所有分支的更改日志输出-