синхронизировать файлы без фиксации? - PullRequest
5 голосов
/ 03 февраля 2011

У меня есть проект, над которым я работаю, и я настроил следующее: один сервер с моими репозиториями git, один настольный ПК и ноутбук.

Я работаю над своим проектом иногда на рабочем столе, иногда на своем ноутбуке.

Как я могу синхронизировать мои файлы между настольным ПК и ноутбуком без передачи изменений на сервер?

Ответы [ 3 ]

3 голосов
/ 03 февраля 2011

Вы можете более или менее напрямую тянуть и толкать между своими «клиентами», то есть ПК и ноутбуком. Транспорт может быть прямым соединением типа SSH или HTTP. Но вы также можете использовать другой репозиторий на внешнем носителе, который может быть USB-накопителем, внешним жестким диском или даже службой типа Dropbox.

Таким образом, ваш рабочий процесс может выглядеть следующим образом:

  1. Внесите изменения на вашем ноутбуке
  2. Зафиксируйте изменения на своем ноутбуке
  3. Push фиксирует в хранилище на флешке
  4. Извлеките коммит из USB-накопителя в хранилище на вашем ПК
  5. Внести дополнительные изменения
  6. Зафиксируйте их - вы также можете изменить другой коммит, если хотите, чтобы ваши изменения были атомарными
  7. Отправка ваших последних коммитов в хранилище на сервере

Помните, что вам всегда нужно будет зафиксировать свои изменения локально, прежде чем вы сможете отправить их в другой репозиторий. Похоже, вы пришли из другой системы SCM, такой как Subversion, где фиксация всегда означает «сделать изменения видимыми на сервере и для всех». Git работает по-другому, коммиты являются только локальными, прежде чем вы их нажмете.

1 голос
/ 25 сентября 2016

Просто используйте команду rsync. Убедитесь, что вы находитесь в локальном корневом каталоге репо, и запустите: rsync -a --exclude=.git . root@xxx.xxx.xxx.xxx:[Your Remote Path]

Вы можете исправить свой код локально и выполнить rsync. Когда код можно развернуть, передайте проблему развертывания.

Вы можете настроить свой псевдоним ssh в файле ~/.ssh/config, Google знает, как его настроить. Тогда ваша команда будет: rsync -a --exclude=.git . [remote-alias-name]:[Your Remote Path] И не нужно вводить пароль.

1 голос
/ 03 февраля 2011

Вы можете использовать такой сервис, как Dropbox, если вам нужно решение «быстро и грязно».У меня есть несколько репо в моей директории Dropbox:)

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