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 后看不到远程分支的差异的主要内容,如果未能解决你的问题,请参考以下文章