rsync .git каталог

Этот вопрос, вероятно, основан на моем отсутствии понимания роли .gits и репозиториев мерзавца в целом, но:

Могу я rsync dir с содержанием, с которым я создал git init между машинами?

У меня есть репозиторий на моем ноутбуке и единственный способ добраться, это далеко оттуда - scp/rsync к удаленному хосту, с которого я могу загрузить его снова. Мог я rsync структура полного списка между этими хостами?

24
задан svrist 9 September 2009 в 07:14
поделиться

5 ответов

Да, это возможно. IIRC, git использует относительный подход. Так что синхронизировать его с другим компьютером безопасно.

10
ответ дан 28 November 2019 в 23:10
поделиться

Вы можете использовать rsync без каких-либо проблем, но если у вас есть некоторые удаленные устройства, объявленные с именами хостов, которые являются локальными для машины (т.е. хранятся только в / etc / hosts), то они явно не будут работать.

Однако есть ли причина, по которой вы не используете сам git для синхронизации содержимого?

6
ответ дан 28 November 2019 в 23:10
поделиться

Да, вы можете, но вы должны сделать это с пустым репозиторием, как показано в этой ветке .

$ git clone --bare ./projet projet.git
$ rsync -a --stats --delete ./projet.git/ votre.serveur:~/projets/projet.git/

Примечание: 6+ лет спустя, git 2.8 (март 2016) официально не рекомендуют и полностью удаляют протокол git rsync !

См. commit 0d0bac6 (30 января 2016 г.) Джефф Кинг ( peff ) .
(Объединено Junio ​​C Hamano - gitster - в commit 9f03176 , 17 февраля 2016 г.)

Получается out " git clone " через транспорт rsync был нарушен, когда исходный репозиторий уже давно упакован ссылками, и никто не заметил и не пожаловался на это.

Commit 0d0bac6 от Джефф Кинг ( peff ) имеет все подробности.

5
ответ дан 28 November 2019 в 23:10
поделиться

Да, rsync в директории .git возможно и приведет к полному клонированию репозитория.

1
ответ дан 28 November 2019 в 23:10
поделиться

Ответ: у разработчиков должно быть 2 машины !!

  • Одна машина для разработки с правами администратора и достаточной мощностью, памятью, размером экрана и переносимостью, а также правами ADMIN с загруженным корпоративным антивирусным ПО, которое можно настроить разработчик при необходимости с политикой автоматического сброса.

  • Один корпоративный, который имеет корпоративную нагрузку, политики, права пользователей без прав администратора и т. д. Разработчик может использовать его для модульного тестирования приложений в режиме выпуска, поскольку некоторые разработчики имеют неприятную привычку выполнение всех модульных тестов с правами администратора. Обратите внимание, что этот протокол устарел, потому что, если в репозитории есть какие-либо действия, вы можете получить поврежденный клон (или выборку).

    Кроме того, как я слышал, он не работал правильно при наличии упакованных ссылок с 2007 года , и до недавнего времени этого никто не заметил. Он исчезнет в Git 2.8.

  • Или вы можете создать git bundle , rsync it или scp it на другом компьютере, а затем клонировать или получить из пакета.

28
ответ дан 28 November 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: