Мерзавец по сравнению с подвижным по сравнению с SVN [дубликат]

44
задан Community 23 May 2017 в 11:54
поделиться

3 ответа

SVN отличается от Git и Mercurial тем, что это единый репозиторий, из которого все пользователи должны извлекать и фиксировать данные.

Git и Mercurial имеют распределенную модель. Это означает, что репозиторий есть на каждом компьютере, и обычно есть "Официальный" репозиторий, в который люди будут фиксировать свои изменения и из которого они будут черпать.

Git и Mercurial чрезвычайно похожи. Я предпочитаю Mercurial, поскольку нахожу его гораздо более простым в использовании. Для команды из двух человек я бы рекомендовал Mercurial, но это только мое мнение. Если вы не знакомы с управлением версиями, вам все равно придется потратить время на то, чтобы научиться использовать любой из вариантов, но Mercurial показался мне самым простым.

Чтобы запустить репозиторий Mercurial, все, что вам нужно сделать, это открыть оболочку, перейти в каталог, в котором вы хотите иметь контроль версий, и набрать hg init. Это создаст репозиторий. Чтобы добавить все, что находится в папке, в хранилище, введите hg add .. Вот некоторые другие различные команды:

  • Чтобы зафиксировать локальные изменения: hg commit -m "Описания изменений"
  • Для извлечения последней версии с сервера: hg pull
  • Чтобы вытолкнуть локальные изменения: hg push
54
ответ дан 26 November 2019 в 22:08
поделиться

Начнем с того, на каком языке они написаны. Мой опыт работы с Git и Mercurial был очень похож, но я знаю, что если я хочу настроить Mercurial, я могу это сделать, потому что он написан на Python . Git, по крайней мере, частично написан на C, с которым я не так хорошо знаком.

Git и Mercurial - это так называемые распределенные. Все копии созданы равными, и они могут выталкивать и вытягивать (используя эту терминологию) изменения друг от друга на разовой основе. Subversion, с другой стороны, состоит из единого центрального репозитория, и каждая рабочая копия является подчиненной по отношению к этому центральному серверу, отправляя и извлекая (в данном случае фиксируя и обновляя) изменения только с него.

Установка Git или Mercurial для пары людей состоит из получения SSH-доступа к одному и тому же серверу и установки пары пакетов. В то время как для SVN, насколько я знаю, вам нужно настроить и запустить реальное серверное приложение под Apache, а затем возиться с сертификатом SSL, .htaccess и т. Д., Чтобы защитить его.

Для всех моих личных проектов я использую Mercurial или Git. Если бы я работал с большой командой, я бы, вероятно, выбрал Subversion, потому что вы получаете централизованную аутентификацию и хостинг. Но для двух человек я бы выбрал один из распределенных, потому что тогда вам не придется возиться с централизованной аутентификацией и хостингом. : -)

16
ответ дан 26 November 2019 в 22:08
поделиться

Git и Mercurial очень похожи (но достаточно разные, чтобы требовать осторожности). SVN, с другой стороны, совершенно другой: первые два являются распределенными VCS, поэтому они не требуют центрального сервера, в то время как SVN требует. В целом многие проекты движутся в сторону распределенных систем.

Для вашего небольшого проекта вам, вероятно, лучше использовать Git или Mercurial. Какой из них вы выберете, по сути, дело вкуса, хотя я предпочитаю Git (и мне он гораздо ближе). Вам вообще не нужно настраивать сервер: вы можете отправлять / получать изменения через SSH или даже отправлять друг другу исправления по электронной почте (это можно сделать прямо из VCS, но это своего рода хлопот). Вы можете настроить центральный сервер в любое время, и все изменения будут там. Вы можете использовать, например, GitHub или Gitorious для размещения вашего проекта (если вы собираетесь использовать Git, я не знаю о Mercurial).

6
ответ дан 26 November 2019 в 22:08
поделиться