git fetch 后看不到远程分支的差异

Posted

技术标签:

【中文标题】git fetch 后看不到远程分支的差异【英文标题】:Can't see differences in remote branch after a git fetch 【发布时间】:2011-11-28 08:43:38 【问题描述】:

我对 git fetch 和比较差异有点困惑。

我有以下本地分支机构;

主人 远程/原点/主控

在 master 分支中,我有一个文本文件,我对其进行更改、提交然后推送到 origin/master。

在另一个本地仓库(用于测试目的)中,我有一个远程到与上面相同的仓库。我跑

git fetch origin master git diff master origin/master

它没有显示任何差异,但如果我这样做 git pull origin master 它会拉取并合并我对文本文件所做的更改。我可能错了,但我认为 pull 会执行 fetch 和 merge,因此进行 fetch 可以让我在合并之前查看远程分支的更改。

【问题讨论】:

How to preview git-pull without doing fetch? 的可能重复项 【参考方案1】:

你需要做的是对你的分支的头部和同一个分支的原点执行差异(在获取之后)是一个

git diff HEAD...origin

请注意三个点。顺便说一句,至少在接受的答案方面,这个问题可能被认为是this one 的重复。

【讨论】:

不幸的是,这不起作用。如果我按照你说的做,我会致命:模棱两可的论点。所以我做了 git diff HEAD...origin/master 并没有列出任何差异。但是当我进行拉取时,它会获取更改并合并它们? 我在这里不知所措,真的。它应该像上面宣传的那样工作。只是为了确定你的 repo 配置,你能把你的git config -l --local 转储到这里吗? 所以我在克隆远程仓库时让它工作了。我使用'git remote add'设置了上面的repo,然后我检查了远程分支,所以当我手动设置它时我正在清除丢失的东西。我读了一些关于 trackig 的东西,所以也许就是这样。 无论如何,虽然git diff HEAD...origin 无法正常工作的原因目前让我感到惊讶,但git diff HEAD...origin/master 可以正常工作。顺便说一句,git status 返回什么?你应该有一些关于“起源/主人”背后的反馈。 我让它与手动配置的 repo 一起工作。我一定是做错了。我使用 'git fetch origin master:remotes/origin/master' 感谢您的帮助。

以上是关于git fetch 后看不到远程分支的差异的主要内容,如果未能解决你的问题,请参考以下文章

看不到git远程分支

多人协作

git看不到别人创建的远程分支

git 看不到他人提交的远程分支解决

差异:git clone , git fetch, git pull和git rebase

git怎么从远程仓库拉取到本地仓库