Какую VCS можно использовать для 1 программиста, использующего 2 отдельных компьютера? - PullRequest
3 голосов
/ 31 августа 2011

Я учусь программировать на C # в Windows. Друг разработчика предположил, что, поскольку я только начинаю, было бы неплохо начать использовать VCS, поэтому я привыкну к этому. Я читал о Git, Mercurial и Bazaar, и мне трудно выбирать между ними. Я посмотрел на количество постов в SO, где задавались похожие вопросы, но не нашел ни одного сообщения об использовании VCS на отдельных компьютерах одним и тем же пользователем.

Итак, прежде чем даже беспокоиться о том, какую VCS использовать, то, что мой друг посоветовал, является правдой - вошло в привычку использовать VCS для любых / всех проектов или это перебор?

Если это хорошая привычка, то я ищу решение со следующими требованиями:

  • Я программирую дома и на работе. Мне нужно иметь возможность толкать / тянуть независимо от того, где я нахожусь (на разных компьютерах).
  • Я чокнутый, особенно потому, что только начинаю. Я бы предпочел частный репозиторий, а не публичный / открытый. Или я слишком параноик? Я не против открытого исходного кода, но как новичок я бы хотел сохранить свою работу в секрете (пока что в любом случае).
  • Я хотел бы иметь возможность использовать VCS для нескольких проектов (пока небольших проектов, но я надеюсь заняться более крупными проектами позже)
  • Я парень из Windows, поэтому интеграция и поддержка Windows и Visual Studio были бы огромным плюсом

Мой текущий метод VCS:

  • Используйте карбонит для ежедневного резервного копирования
  • Использование Windows Mesh для синхронизации файлов между домашним и рабочим компьютером
  • Закомментируйте старый код для изменений с указанием даты / времени и причины изменения

Давайте просто скажем, что я мог бы сделать лучше.

Любые комментарии приветствуются. Спасибо.

Ответы [ 2 ]

3 голосов
/ 01 сентября 2011

Использование контроля версий - определенно хорошая привычка, и для программиста-одиночки есть несколько преимуществ:

  • Вы можете сохранить свою историю и причины этого в своем коде, что будетсделать его аккуратнее и проще для чтения.
  • Это дает своего рода подушку для путаницы - вы можете кодировать с уверенностью, что вы всегда можете вернуться к тому, с чего начали, если все пойдет не так.
  • В вашей личной ситуации этопозволил бы легко синхронизировать между вашими компьютерами, хотя у вас уже есть решение для этого.

Я не могу дать хорошее сравнение различных систем управления версиями, о которых вы говорите, как у меня нет 'Я использовал Bazaar, и я использовал Git только для того, чтобы оценить его (3 года назад - я не выбирал его, потому что доступные клиенты Windows были не очень хорошими, но это было 3 года назад, и программное обеспечение сильно изменилось за это время)

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

Я использовал Mercurial и могу сказать, что TortoiseHg и VisualHg являются хорошими клиентами для Windows.TortoiseHg интегрируется с Windows Explorer (но также имеет автономный клиент, если вы этого хотите).VisualHg - это дополнение к Visual Studio, которое интегрирует TortoiseHg с VS.

Возможно, вы сможете продолжать использовать Windows Mesh для синхронизации рабочих и домашних репозиториев, если вы действительно не хотите использовать общедоступный поставщик контроля версий,Я бы порекомендовал против этого - хотя бы потому, что похоже, что Windows Mesh будет выполнять работу, для которой специально разработана система контроля версий.

Я использую bitbucket.org (для Mercurial) - это бесплатное использование, и вы можете иметь столько частных репозиториев, сколько захотите.

0 голосов
/ 01 сентября 2011

Я настоятельно рекомендую использовать контроль версий для всех проектов.Одним очень сильным преимуществом является то, что он позволяет вам легко работать с различными ветками, что очень полезно для разработки новых функций и поддержки нескольких версий (например, проект X на работе использует версию n, поэтому вам нужно поддерживать ее, но вы заинтересованы вразвивающая версия n + 1).Кроме того, если вам когда-нибудь понадобится работа по программированию, многие работодатели не воспримут вас всерьез, если вы не используете контроль версий.

Что касается особых требований:

Я программирую надома и на работе.Мне нужно иметь возможность выдвигать / извлекать независимо от того, где я нахожусь (использую разные компьютеры).

Любой распределенный контроль версий (DVCS) легко это поддержит.К счастью, git, mercurial и bazaar - все это DVCS, так что с любым из них у вас все будет в порядке.

Я схожу с ума, особенно потому, что только начинаю.Я бы предпочел частный репозиторий, а не публичный / открытый.Или я слишком параноик?Я не против открытого исходного кода, но как новичок я хотел бы сохранить свою работу в секрете (пока что в любом случае).

Любая VCS будет поддерживать это, хотя это сводит на нет некоторые преимущества для некоторых вариантов VCS(например, github).

Из трех упомянутых вами, я думаю, базар и Mercurial имеют лучшую поддержку Windows.Оба имеют визуальную студийную интеграцию, по крайней мере, до некоторой степени.Я согласен, что вы должны попробовать их, прежде чем выбрать, вероятно, в порядке базар, Mercurial, Git.

...