GIT ускоряет операции, когда существует задержка между основным репозиторием и некоторыми машинами разработчиков? - PullRequest
0 голосов
/ 23 мая 2009

Наш магазин географически распределен, и наш текущий контроль версий централизован, что замедляет операции контроля версий (регистрация / отправление) для разработчиков, находящихся далеко от него. Если мы перейдем на GIT, это ускорит какие-либо из этих операций?

Ответы [ 3 ]

3 голосов
/ 23 мая 2009

Ответь для себя.

Поместите ваш код в git (сначала скопируйте базу кода):

git init
git add *
git commit -m "Initial import"

Клонируйте его в своей сети, сделайте коммит и отодвиньте его обратно.

git clone ssh://machine/path/to/repo.git
// Make some changes
git commit -a -m "Makin some changes"
git push origin

На самом деле вам не нужно переносить репозиторий или свою работу, чтобы выполнить этот тест. Если производительность удовлетворительная, выполните миграцию или выполните еще несколько тестов для подтверждения. Если этого не произойдет, выбросьте репо и продолжайте.

Непосредственным преимуществом git, предназначенного для делокализации, является то, что состояние вашего хранилища хэшируется в хеш SHA1. Это делает разграничение вашей иерархии фиксации по каналу намного более эффективным (он только отправляет самые последние объекты фиксации и не должен сравнивать весь репозиторий, чтобы узнать, что нужно отправить: все это содержится в иерархии фиксации).

2 голосов
/ 23 мая 2009

Это зависит от того, насколько централизованным оно должно быть в будущем. Например, с помощью Git, как отдельного разработчика, вы можете создавать ветки, выполнять большую работу, постоянно (мгновенно) совершать коммиты для каждой новой вещи, которую вы делаете / изменяете, и ничего не происходит по проводам, пока вы не выполните git push! Любые git pull s, которые вы делаете, все равно будут идти по проводам столько же, сколько и ваши svn update s, конечно ..

Если, однако, ваш рабочий процесс настолько централизован, что вы в значительной степени ожидаете централизованную фиксацию (т. Е. Толчок), вы все равно будете идти по проводам. Если ваше соединение не является действительно плохим, разница в протоколах и в том, что отправляется каждой системой, вероятно, не важна, даже если у Git есть небольшое преимущество.

Однако одним из потенциальных преимуществ может быть наличие нескольких разработчиков на нескольких сайтах. Затем вы можете настроить отдельные репозитории git на каждом сайте, где все фиксации / извлечения будут проходить только по локальной сети (из POV разработчика), а затем синхронизировать репозитории между магазинами или с «центральным» репозиторием один раз в день или что-то подобное.

Возможно, я неправильно понимаю вопрос, но, надеюсь, это по крайней мере поможет чуть-чуть ..:)

1 голос
/ 23 мая 2009

Git очень эффективен в сети. Это должно быть быстрее, чем ваше текущее решение SCM.

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