В чем разница между git clone --mirror и pull - PullRequest
3 голосов
/ 11 января 2020

На самом деле нет никакой разницы между клоном и притяжением, насколько я понимаю. Или другими словами git clone -- bare и git pull делает то же самое. Но поскольку git clone --mirror обновляет локальные ссылки, это будет отличаться от pull?


РЕДАКТИРОВАТЬ: я ошибочно предположил, git клон по умолчанию - --bare. Но --bare будет установлен без рабочего каталога.

1 Ответ

4 голосов
/ 12 января 2020

git clone создает новый репозиторий. Раньше у вас не было репозитория, а теперь у вас есть один.

git pull выполняет операции в существующем репозитории.

Кажется, что это действительно большая разница!

Кроме то, что git pull делает:

  • запускает git fetch, затем
  • запускает вторую команду Git.

Так как --mirror клон является --bare клоном и поэтому не имеет рабочего дерева, вторая команда, которая будет запускаться git pull, не будет выполнена, независимо от того, выберете ли вы слияние или перебазирование.

Что делает git fetch, так это документально . Для зеркального клона refspe c по умолчанию равен +refs/*:refs/*, поэтому все ссылки заменяются ссылками, полученными из других Git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...