Git репозитории - PullRequest
       8

Git репозитории

2 голосов
/ 20 августа 2010

Git - распределенная система контроля версий, верно.Как связать двух разработчиков без централизованного репозитория.

Наша команда использует Github, и если два разработчика хотят работать в одной и той же ветке, кажется, что ветвь должна быть передана удаленно, прежде чем они оба получат к ней доступ...или или нет?

Может ли разработчик получить локальный репозиторий других разработчиков?

Ответы [ 4 ]

5 голосов
/ 20 августа 2010

Может ли разработчик извлечь локальный репозиторий других разработчиков?

Да. Доступ только для чтения (nfs, ssh, ...) к хранилищу (т.е. к фактическим файлам в каталоге .git) другого разработчика является достаточным. Или, если разработчик устанавливает git-сервер, другие могут его использовать.

Я не рассматриваю возможность отправки патчей по почте.

1 голос
/ 20 августа 2010

Это зависит от того, насколько хорошо связаны эти два разработчика.Если вы работаете на одной и той же машине, вы можете извлечь ее непосредственно из клона другого пользователя.Если вы работаете в одной сети, вы можете настроить простой сервер с чем-то вроде git daemon.

Если вы находитесь в отдельных сетях за брандмауэрами и так далее, томожет делиться изменениями с помощью общего общего сервера.Или вы можете отправить патчи друг другу по электронной почте, используя git format-patch и git am.

0 голосов
/ 20 августа 2010

Если вы уже используете Github, то самый простой способ заставить вас работать над одной и той же веткой - это непрерывно выталкивать / вытягивать из Github. Толкание / вытягивание из машин друг друга быстро станет волосатым и приведет к гораздо большей головной боли в будущем. Конечно, вы можете использовать другой на домашнем сервере или настроить чистое репо на одной или обеих ваших машинах, но это, вероятно, приведет к чрезмерно сложной настройке и потребует много дополнительного времени и усилий для управления источником.

Чтобы начать работу между вами (Dom) и другим разработчиком (назовем его Джоном) в одной и той же ветке, сначала создайте ветку на вашем локальном компьютере и отправьте ее на Github:

#On Dom's machine:
git checkout -b cool_feature
git push origin cool_feature #assumes origin is github

#on John's machine:
git checkout -b cool_feature
git pull origin cool_feature

Теперь у вас обоих есть одна и та же копия репо на ваших локальных хостах. Развивайтесь по своему усмотрению и убедитесь, что вы оба часто делаете коммиты, и подталкиваете коммиты на Github. Кроме того, убедитесь, что вы часто вынимаете из Github.

0 голосов
/ 20 августа 2010

Да, вам нужно использовать команду git remote add ..., чтобы добавить каждый пользовательский репозиторий, видимый каждому пользователю.Очевидно, что они должны иметь возможность видеть друг друга на компьютере.Возможно, вам придется настроить ssh или использовать git daemon.

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