Этот вопрос, вероятно, основан на моем отсутствии понимания роли .gits и репозиториев мерзавца в целом, но:
Могу я rsync dir с содержанием, с которым я создал git init
между машинами?
У меня есть репозиторий на моем ноутбуке и единственный способ добраться, это далеко оттуда - scp/rsync к удаленному хосту, с которого я могу загрузить его снова. Мог я rsync структура полного списка между этими хостами?
Да, это возможно. IIRC, git использует относительный подход. Так что синхронизировать его с другим компьютером безопасно.
Вы можете использовать rsync без каких-либо проблем, но если у вас есть некоторые удаленные устройства, объявленные с именами хостов, которые являются локальными для машины (т.е. хранятся только в / etc / hosts), то они явно не будут работать.
Однако есть ли причина, по которой вы не используете сам git для синхронизации содержимого?
Да, вы можете, но вы должны сделать это с пустым репозиторием, как показано в этой ветке .
$ 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
) имеет все подробности.
Да, rsync
в директории .git
возможно и приведет к полному клонированию репозитория.
Ответ: у разработчиков должно быть 2 машины !!
Одна машина для разработки с правами администратора и достаточной мощностью, памятью, размером экрана и переносимостью, а также правами ADMIN с загруженным корпоративным антивирусным ПО, которое можно настроить разработчик при необходимости с политикой автоматического сброса.
Один корпоративный, который имеет корпоративную нагрузку, политики, права пользователей без прав администратора и т. д. Разработчик может использовать его для модульного тестирования приложений в режиме выпуска, поскольку некоторые разработчики имеют неприятную привычку выполнение всех модульных тестов с правами администратора. Обратите внимание, что этот протокол устарел, потому что, если в репозитории есть какие-либо действия, вы можете получить поврежденный клон (или выборку).
Кроме того, как я слышал, он не работал правильно при наличии упакованных ссылок с 2007 года , и до недавнего времени этого никто не заметил. Он исчезнет в Git 2.8.
Или вы можете создать git bundle , rsync
it или scp
it на другом компьютере, а затем клонировать или получить из пакета.