我已經搜索了很高和理解這一點,我覺得它只是滑過我的手指。這裏有類似但不相同的QnAs。添加遠程+交換名稱與出處,給出錯誤:「git fetch origin; git merge」works,!=「git pull」有錯誤 - 爲什麼?
問題:
$ git pull
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
而git fetch
給什麼,其次是git merge origin
它說Already up-to-date.
,這是我所期待的有git pull
工作 '正常'。
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "official"]
url = git://github.com/freenet/wininstaller-official.git
fetch = +refs/heads/*:refs/remotes/official/*
[remote "origin"]
url = git://github.com/freenet/wininstaller-staging.git
fetch = +refs/heads/*:refs/remotes/origin/*
tagopt = --tags
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "t"]
remote = origin
merge = refs/heads/master
$ cat .git/refs/remotes/origin/master
1a30b106723624321366f40a078c9ca4c28394ec
$ cat .git/refs/heads/master
1a30b106723624321366f40a078c9ca4c28394ec
爲什麼git pull會給出錯誤,而git fetch/merge會產生預期的輸出?
背景: 我克隆了一個git repo,freenet/wininstaller-official.git,然後看到了wininstaller-staging.git並認爲「這裏可能有一些不實際的重疊,我應該添加'staging'作爲遠程第一個回購「。是的,現在我們正在用git做飯!這將是如此高效。
然後我認爲「舞臺可能會更好地跟蹤,我們稱之爲起源,讓我的本地主人跟蹤新的起源/主人」。哇!優步 - 我是我!
所以,我重新命名遙控器,刪除本地主,結帳新的主跟蹤新的起源/主。
而git fetch; git merge
似乎證明它的正確性!
但唉,git pull
出錯。禍是我。事實並非如此超級精英的所有:(
TIA
太棒了!釘! – zenaan
@zenaan:應該被標記爲解決方案。 – l0b0