Используете ли вы контроль исходного кода для своих домашних проектов?

Простой вопрос для людей, чтобы оставить свои комментарии, и каков был их выбор и почему.

Также было бы интересно посмотреть, что побудило вас его использовать? Для меня я использую контроль источника, чтобы

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

Для меня я использую Perforce, простую 2 клиентскую "демо" версию. Это потому, что мы недавно перешли к нему на работе с использованием IBM Rational Clearcase. Все идет нормально!

35 ответов

Решение

Я использую git и Subversion - git для моего порта C# Protocol Buffers (который я делаю во время работы, но со своего домашнего ноутбука) и Subversion для некоторых других вещей.

Раньше у меня был репозиторий Subversion на локальном сервере NAS, но недавно я переместил его на csharpindepth.com, главным образом, чтобы можно было отключить NAS, а также чтобы я мог легко добраться до него из-за пределов своего дома, не пробивая дыры в брандмауэрах,

Что касается почему:

  • В случае смерти моего ноутбука
  • В случае, если я хочу вернуться к более ранней версии
  • Так что я могу следить за тем, что я сделал
  • Так что другие люди тоже могут участвовать (например, Марк Грэвелл предоставил множество вещей для MiscUtil)
  • Ветвление, где это уместно

Я также использую Subversion для управления csharpindepth.com и большей частью yoda.arachsys.com - у меня есть локальная копия каждого сайта и перехваты пост-фиксации на каждом сервере (где также находится репозиторий) для обновления каталога веб-сервера, когда Я обязуюсь.

О, и я также использовал Subversion при написании C# в глубине - опять же, я могу отслеживать, какой бит был написан, когда и т. Д. Мне не нужно было использовать этот аспект очень часто, но это удобное решение для резервного копирования.

16

Да, я использую SVN.

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

15

Ага. Я не долгое время, но я обгорел, как описано здесь: еще один SO поток.

И теперь я начинаю использовать его как инструмент разработки, а не просто как резервную копию исходного кода. Ветвление, чтобы опробовать новые функции, исправления ошибок и т. Д.

Я начал с darcs дома (компания, в которой я работал, в то время, когда я работал - shudder - SourceSafe) и обдумываю переход на git или mercurial.

4

Я использую Subversion у себя дома для кроссплатформенного проекта, поэтому различные среды разработки (Win-Laptop и Linux-PC всегда актуальны.

Кстати, сервер SVN работает на моем маршрутизаторе WLAN, который доступен независимо от того, работаю ли я на своем ноутбуке или ПК.


РЕДАКТИРОВАТЬ: Так как меня спросили: маршрутизатор WLAN не поддерживает SVN по умолчанию, но со следующей прошивкой это делает ( http://oleg.wl500g.info/).

4

Определенно да. Я использую Subversion для всех моих личных проектов по тем же причинам, которые вы указали выше.

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

3

Я не могу позволить себе не использовать VCS. Я передумал, или мне нужно что-то попробовать - мне нужна сеть безопасности VCS, чтобы защитить себя от себя.

Я все еще использую RCS - мне не нужны сложные стратегии ветвления. Я обдумываю переход на Git (или, возможно, SVN), хотя я еще не совсем убежден, что мне нужно. На данный момент я предпочитаю Git, а не SVN, потому что это распределенная VCS.

2

Я использую Git или Mercurial для своих хобби-проектов из-за их простоты и децентрализации. quck hg/git init, и я ухожу, чтобы зафиксировать свои изменения. Если я пишу что-то о свободном времени, то это обычно потому, что мне нужно что-то, а ничего не существует, что делает то, что мне нужно. Так что есть очень хороший шанс, что я поделюсь тем, что я придумал, если это окажется полезным, и в этом случае хорошо иметь историю изменений.

Хотя есть обрезание... если я напишу сценарий оболочки из 100 строк для выполнения какой-то странной задачи, которая будет полезна только мне... нет смысла использовать VCS.

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

2

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

Любая VCS лучше, чем ничего (включая RCS), но я уже давно отдаю предпочтение DVCS. Я сам использую Mercurial, потому что он децентрализован (у меня есть несколько машин, включая два ноутбука), позволяет работать в автономном режиме (например, в самолете или поезде), работать быстрее и проще, чем в git.

2

Да, я использую Subversion для своих домашних проектов. Я использую его, так как тогда я могу быть уверен, что версии, которые у меня есть на разных компьютерах и ОС, одинаковы, нет проблем, если я сделаю что-нибудь глупое на одном компьютере, так как я могу откатить его назад. И это на другом сервере, поэтому, если мои компьютеры умирают, у меня все еще есть проект.

2

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

1

Да. Subversion, такой же, как я использую на работе. Удобно для обучения, так как мы только что перешли на Subversion на работе.

  • Так что я могу вернуться к старому коду. Не столько для исправления провалов, сколько для провалов. Если я зарегистрировался не так давно, я чувствую себя скорее как ре-факторинг. Без контроля исходного кода у меня есть привычка комментировать много кода и никогда не удалять его.
  • Я должен вернуться к перемещению моего хранилища куда-нибудь, кроме того же диска, на котором находится моя проверка...
1

У меня есть Subversion на моем ноутбуке с Ubuntu. Зачем? Я думаю, что никто не хочет хранить несколько копий своих файлов с расширением даты или чем-то подобным, если они не являются серьезными проектами. Любой проект с приличной базой кода будет нуждаться в контроле версий, чтобы вы могли вернуться в любое время, не опасаясь выяснить, что потеряно в моих изменениях два дня назад. Кроме того, поскольку я использую fsfs с SVN, я могу создавать их резервные копии в любое время и перезагружать их в другое окно в случае сбоя моего ноутбука.

1

Да, я использую Subversion, чтобы у меня был не только резервный репозиторий кода, но и чтобы в случае, если домашний проект полезен на работе (например, примеры кода или фрагменты), я всегда имел к нему доступ. Конечно, это довольно дешево для меня, так как мои рабочие проекты уже находятся на сервере SVN.

1

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

Это также помогает иметь возможность синхронизации на нескольких машинах и всегда иметь рабочую копию (что позволяет моему коду работать..:)).

Лично я начал использовать Perforce, как то, что мы использовали на работе, и мне это понравилось. Я нашел это слишком проблематичным для автономного кодирования (кто не любит кодировать в кафе??), поэтому я переключился на SVN. Мой следующий большой переход, вероятно, будет на Mercurial, так как распределенная вещь меня интересует.

1

Subversion работал на меня в течение нескольких лет, но я перешел на уровень, на котором у меня было несколько машин для разработки, и у Subversion были некоторые проблемы. Например, если я получил последнюю версию с сервера и пошел в офис с ноутбуком, я мог бы захотеть немного поработать над кодом. Без доступа к серверу невозможно проверить код. Это затрудняет попытки проверить ситуацию с уверенностью, что откат будет возможен.

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

1

Да.

Раньше я использовал CVS для своих домашних проектов, а затем конвертировал все в Mercurial.

У меня есть доступ к серверу, куда я отправляю / извлекаю свою работу через SSH, и это мой основной репозиторий проектов, который довольно безопасен с RAID 1 и регулярным резервным копированием. Конечно, большинство проектов разбросано в нескольких местах - на моих домашних компьютерах, некоторые важные на работе, в режиме ожидания. DVCS FTW!;)

1

На работе я использовал SVN, и все было хорошо. Для моих домашних проектов у меня была следующая привычка:

  • когда я достигал "контрольной точки", я архивировал свои источники с "наводящим на размышления" именем (которое описывало общий прогресс)

  • к тому времени, когда я заканчиваю проект, у меня обычно есть около 20 архивов (которые до некоторой степени полезны, но давайте посмотрим правде в глаза, кто хочет просмотреть все эти архивы, отсортировать их по времени создания / модификации, попробовать код, посмотреть если это работает... отстойный процесс, не так ли?)

И именно поэтому я использую SVN для своих домашних проектов:)

1

Да, Mercurial. Когда я искал около года назад, казалось, даже с git, и имел лучшую поддержку Windows. С тех пор git, кажется, побеждает в конкурсе популярности, но так оно и есть. У меня есть внешняя резервная копия и Bitbucket для публичных проектов.

1

В последнее время я использую только Git. Раньше проходил CVS, SVN, и теперь я чувствую, что это требует меньше работы, чем спасает меня. Никогда раньше такого чувства не было.:)

 $ mkdir newproject
 $ cd newproject
 $ git init
 $ vim README
 $ git commit -m "Readme file" README

Готово. Это не становится легче, я считаю. Прелесть этого в том, что мне не нужно ничего настраивать. Это просто работает сразу.

0

Я использую SVN на работе, и теперь я переключаюсь на базар (bzr), возможно, по неправильным причинам.

Сначала я искал способ продолжить работу на отключенном ноутбуке. Bzr был единственным распределенным vcs, способным взаимодействовать с сервером Subversion в двух направлениях (pull и push).

Теперь для моего домашнего проекта я все еще использую bzr, потому что проще настроить новый репозиторий, чем с SVN. Но SVN, вероятно, будет так же хорошо для моих нужд. Вот почему я сказал, что переключаюсь по неправильным причинам... просто слишком ленив.

0

Я делаю, и я хочу стать лучше в этом. Первоначально я думал об использовании TFS в какой-то удаленной установке где-то, но теперь, когда у меня было отключение Интернета в течение нескольких дней, я рад, что у меня был запущен домашний сервер, угадайте, что, Subversion.

0

Если они становятся достаточно большими, я бью их по Codeplex и использую TFSC в VS, точно так же, как я использую на работе.

0

Я не в настоящее время, но я хочу. У меня есть бесплатный аккаунт на Beanstalk, и я обсуждаю, получить ли платный аккаунт или перейти на GitHub.

0

Ранее я использовал бесплатную версию Beanstalk для личных проектов, которая предоставляет хранилище SVN до 20 МБ.

У меня также есть ежедневные резервные копии с использованием Mozy.

0

Я клянусь, что пытаюсь, но это так чертовски трудно найти что-то, что хорошо работает с моей средой...

0

Я использую Mercurial и Subversion для всего, потому что:

1) он позволяет проводить радикальный рефакторинг или изменения, не беспокоясь о потере рабочего кода 2) он сохраняет резервную копию моей работы 3) он позволяет одновременно работать над одним и тем же проектом на нескольких компьютерах без проблем с синхронизацией.

0

Абсолютно, и я использую его, потому что я хочу получить все преимущества, которые он дает мне на работе, как упоминали многие другие.

Как только вы привыкнете к преимуществам, зачем жить без них?

0

Я использую Beanstalk SVN и Версии. Это спасло мой бекон не раз, когда я сделал глупость.

0

Да, фактически я использую несколько репозиториев svn вместо одного большого, как я использую (один может быть предназначен для открытого кода, другой может быть только личным, другие могут быть репозиториями онлайн). Я использую SVN, у меня есть все в:/dev, и у меня есть определенные папки, такие как:/dev/external или / dev / prv, но не в каких-либо репозиториях.

0

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

0
Другие вопросы по тегам