Я искал все выше и ниже, чтобы понять это, и я чувствую, что это просто ускользает из моих пальцев.Здесь есть похожие, но не идентичные QnAs.
Проблема:
$ 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 »в качестве удаленного к первому репо».Да, теперь мы готовим с мерзавцем!Это будет очень эффективно.
Тогда я подумал, что «лучше отследить постановку, давайте назовем этот источник, и у моего локального мастер-трека будет новый источник / мастер».Вот Это Да!Uber-elte am I!
Поэтому я переименовываю пульты, как указано выше, удаляю локальный мастер, извлекаю новый мастер, отслеживающий новое происхождение / мастер.
И git fetch; git merge
, кажется, доказывает, что он работает правильно!
Но, увы, git pull
ошибок нет.Горе это я.В конце концов, не такая уж супер-элита: (
TIA