Я обнажил репозиторий (git clone --bare
) и, по-видимому, git fetch
не обновляет его, но git fetch origin master:master
делает. Я не понимаю всех нюансов между этими синтаксисами:
-
git fetch
-
git fetch origin
-
git fetch origin master
-
git fetch origin master:master
origin
является моим единственным удаленным, а master
является моей единственной ветвью, а help говорит:
Если пульт не указан, по умолчанию используется пульт дистанционного управления
Итак, почему эти четыре строки не совпадают?
Изменить: три первые команды, по-видимому, извлекаются во временную ветвь с именем FEATCH_HEAD
. Но поскольку я использую голой клон, я не могу использовать git merge
для получения полученных результатов.
Edit2: Из ответа @torek я сделал небольшой тест и разделил каталоги --bare и -mirror clone. Вот результат:
diff -ru mesa.bare.git/config mesa.mirror.git/config
--- mesa.bare.git/config 2014-10-14 20:01:42.812226509 -0400
+++ mesa.mirror.git/config 2014-10-14 20:00:53.994985222 -0400
@@ -4,3 +4,5 @@
bare = true
[remote "origin"]
url = git://anongit.freedesktop.org/mesa/mesa
+ fetch = +refs/*:refs/*
+ mirror = true
Only in mesa.bare.git/objects/pack: pack-17005b7e1020d291eb86d778a174ecf0d60d92a9.idx
Only in mesa.bare.git/objects/pack: pack-17005b7e1020d291eb86d778a174ecf0d60d92a9.pack
Only in mesa.mirror.git/objects/pack: pack-c08b44b7f290ef0bc9abe3a0b974695c85a69342.idx
Only in mesa.mirror.git/objects/pack: pack-c08b44b7f290ef0bc9abe3a0b974695c85a69342.pack
Спасибо!