it-swarm.com.ru

Лучший контроль версий для одинокого разработчика

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

Мои ограничения:

  • Я работаю на нескольких машинах, и мне нужно синхронизировать их
  • Иногда я работаю в автономном режиме

В настоящее время я использую Subversion (только клиент для удаленного сервера), и это работает нормально. Я заинтересован в Mercurial и git DVCS, но ни один из их вариантов использования не имеет смысла для моей ситуации.

Правка: я перенес свою активную разработку в Fossil http://www.Fossil-scm.org/ после пробной версии с клиентом. Мне очень нравятся функции автоматической синхронизации моих репозиториев (сокращение числа случайных форков), поддержка документации (как вики, так и встроенной/версионной), которая поддерживает мою потребность документировать код и проект в разных пространствах, простой в настройке трекер проблем, удобный доступ контроль, скины веб-интерфейс и полезное сообщество.

67
Stephen

Могу ли я предложить довольно новый контроль версий под названием Fossil.

Это не я проект, он написан доктором Ричардом Хиппом, тем же человеком, который делал SQLite. Весь репозиторий представляет собой файл SQLite, поэтому он очень надежный. У вас есть встроенная вики и система тикетов. У вас может быть много пользователей с разными правами, так что вы можете, например, дать своим пользователям право выдавать билеты, но не просматривать исходный код.

Это довольно просто, просто и работает как распределенная система, то есть вы можете клонировать и извлекать документы локально и удаленно.

Больше информации можно увидеть на http://www.Fossil-scm.org/ и если вы посмотрите внимательно, вы увидите, что весь сайт на самом деле является Ископаемым.

Одна вещь, которая действительно поразила меня Fossil, это то, что это всего лишь один файл, вот и все. Вся программа Fossil довольно маленькая, но, учитывая, кто автор, это не является сюрпризом.

А поскольку ваш репозиторий является файлом sqlite, вы просто копируете его и у вас есть резервная копия.

44
Trausti Thor

Каждый человек, вероятно, скажет вам, что его любимый DVCS является лучшим для вас. Я бы сказал, что Mercurial - лучший! ;-)

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

50
Nowhere man

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

Я недавно конвертировал все свои 80+ репозитории Subversion в Git, и я не оглядывался назад.

30
Greg Hewgill
13
blueyed

Subversion прекрасно работает (особенно с TortoiseSVN). Я не думаю, что какой-либо распределенный VC будет иметь преимущество в одном сценарии разработчика.

Правка: я не заметил часть "иногда я работаю в автономном режиме", когда я первоначально ответил. В этом случае, я полагаю, вы должны взвесить дополнительную сложность DVCS с тем фактом, что она предоставляет вам автономную историю/ревизии.

7
Pat

Я всегда рекомендую darcs для этой ситуации ( вот мой ответ на похожий вопрос ), поскольку его пользовательский интерфейс командной строки - это радость в использовании, а радость - то, чего я хочу от своего собственного развитие :)

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

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

3
Jonny Buchanan

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

Простым решением Unix было бы сохранить историю внутри рабочего каталога с помощью RCS и синхронизировать рабочий каталог (включая историю) между различными машинами, используя nison . Основное предостережение заключается в том, что если вы переключаете машины, вам сначала нужно будет синхронизировать их, прежде чем начинать фиксировать новые ревизии. Если это проблема, вам лучше взглянуть на настоящую DVCS.

2
Bruno De Fraine

Вы должны попробовать DVCS (или то, что я называю peer2peer VCS). Я согласен с нигде. Не тратьте время на svn и все мягкое вокруг него, чтобы сделать его полезным. DVCS более интуитивно понятен, чем старый и устаревший стиль клиент-сервер. SVN не знает, что такое тег или ветка. Для Свн все просто копии.

Например: так сложно реализовать тег как синоним номера ревизии.

В Mercurial тег - это просто так. Вы не можете отслеживать версии тегов, как в svn.

Прочитайте здесь руководство dvcs чтобы начать. Тогда вы можете использовать SVK, Mercurial ака HG или GIT. Но, пожалуйста, не возвращайтесь во времени

2
user2427

Вы можете найти ответы на вопрос, который я задал, полезным: альтернатива VSS для шоу одного человека (армия одного?):

Альтернатива VSS для шоу одного человека (армия одного?)

2
Booji Boy

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

Вот несколько идей для совместного использования вашего хранилища на нескольких компьютерах. 1) Используйте какой-нибудь хост-сервис, такой как github. Обычно это бесплатно для проектов с открытым исходным кодом и низкая плата за коммерческие проекты. Мы используем GitHub на работе. 2) Используйте Dropbox для создания общего диска с резервным копированием в Интернете, к которому могут получить доступ все ваши компьютеры. Это бесплатно менее 2 ГБ. (Если вы работаете в Ubuntu, Ubuntu One - это еще одна альтернатива.) Поместите ваш главный git-репозиторий в dropbox, а затем разместите локальные репозитории на каждом из ваших компьютеров. (Таким образом, dropbox играет ту же роль, что и github.) Он полностью бесплатен, позволяет легко работать в автономном режиме, позволяет при необходимости делиться хранилищем с другими разработчиками позже, и резервное копирование выполняется автоматически.

Кроме того, если вы действительно хотите использовать SVN, посмотрите на размещенное решение, такое как cvsdude (несмотря на название, они запускают SVN), а не на свой собственный сервер. Вы сможете получить доступ к своему коду из любой точки мира, и это будет стоить всего $ 5-10 в месяц.

1
Clint Miller

Если вы знакомы с Subversion, я предлагаю вам взглянуть на SVK

0
Rad

SourceGear Vault бесплатна для одного разработчика и очень хороша.

0
Galwegian

я рекомендую. Не могу получить лучше, чем это!

0
Chii