Начало работы с контролем версий

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

Учитывая ситуацию, я должен подождать и посмотреть, какой из них выходит на первое место? Каковы их относительные преимущества?

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

Кроме того, не против предложений о том, как начать с того или другого. (учебные пособия и т. д.)

5.08.2008 18:29:14
Я не думаю, что это должно иметь определенные теги контроля версий. Я сам подумал об этом, но хотел знать, что думают другие.
Brad Gilbert 17.09.2008 03:36:52
30 ОТВЕТОВ
РЕШЕНИЕ

Самое важное в контроле версий:

Просто начните использовать его

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

Это очень легко конвертировать из

cvs<->svn<->git<->hg

Неважно, какой вы выберете. Просто выберите самый простой для вас способ и начните записывать историю своего кода. Вы всегда можете перейти на другую (D) VCS позже.

Если вы ищете простой в использовании графический интерфейс, посмотрите TortoiseSVN (Windows) и Версии (Mac) (предложено codingwithoutcomments )


Редактировать:

pix0r сказал:

В Git есть несколько приятных функций, но вы не сможете оценить их, если вы уже не использовали что-то более стандартное, такое как CVS или Subversion.

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

Изменить 2:

Только что увидел эту ссылку на Reddit: шпаргалка Subversion . Хороший краткий справочник по командной строке SVN.

82
23.05.2017 12:00:25
Есть ли у вас отличный инструмент для преобразования хранилища из одного в другое? Я полностью согласен с Start Now, но мне интересно, насколько легко было бы перенести всю историю и ревизии с одной системы VC на другую?
Steve Tranby 19.10.2008 05:42:59

Используйте Subversion, он прост в настройке, прост в использовании и имеет множество инструментов. Любая будущая система ревизий будет иметь функцию импорта из SVN, так что вы не сможете изменить ее в будущем, если ваши потребности будут расти.

19
5.08.2008 18:31:56

Перейти на SVN. Если вы никогда ранее не использовали контроль исходного кода, это не имеет значения для вас, так или иначе.

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

SVN - отличный инструмент, и он должен заботиться о большинстве ваших потребностей. И так как это было вокруг, у него есть справедливый участник инструментов GUI (TortoiseSVN, например).

Перейти на SVN.

11
5.08.2008 18:33:56
«Если вы изучите один, вы можете легко переключиться на другой позже». <- не правда. У многих людей возникают проблемы с настройкой своего мышления с централизованного VCS на распределенный VCS.
Afriza N. Arief 17.09.2011 03:50:21

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

2
5.08.2008 18:35:27

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

Поэтому я просто установил SVN-сервер и Tortoise SVN для клиента и погрузился в углубление, и я не научился использовать его по пути.

0
5.08.2008 18:36:01

Книга Subversion - ваш лучший выбор для изучения инструмента. Там могут быть и другие краткие учебные пособия, но Книга - лучший справочник, который вы найдете.

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

16
5.08.2008 18:36:48

Начните использовать SVN для вашей реальной работы, но постарайтесь найти время, чтобы возиться с Git и / или Mercurial. SVN достаточно стабилен для производства, но в конечном итоге вы столкнетесь со сценарием, в котором вам потребуется распределенный SCM, к которому вы будете должным образом вооружены, и новые системы станут достаточно зрелыми.

0
5.08.2008 18:38:00

Мой голос идет за Subversion. Это очень мощный, но простой в использовании, и есть несколько отличных инструментов, таких как TortoiseSVN .

Но, как говорили другие до меня, просто начните использовать его. Контроль исходного кода - это важная часть процесса разработки программного обеспечения. Ни один «серьезный» программный проект не может быть без него.

4
5.08.2008 18:39:20

Для дружественного объяснения большинства основных понятий см . Визуальное руководство по управлению версиями . Статья очень дружелюбна к SVN.

8
5.08.2008 18:39:23

Да, SVN за предпочтения, если вам действительно не нужны особые функции git. SVN достаточно сложен; Похоже, с мерзавцем жить сложнее. Вы можете получить svn от таких людей, как Beanstalk - если у вас нет собственных людей из Linux, я бы порекомендовал это. Все может пойти ужасно легко, и приятно иметь кого-то другого, чья работа - это исправить.

Эрик Синк (Eric Sink) предлагает отличное руководство по проверке версий, которое стоит прочитать независимо от того, какую систему вы используете.

0
5.08.2008 18:40:30

superjoe30 пишет :

Связанный вопрос (возможно, ответы могут быть отредактированы, чтобы ответить и на этот вопрос):

А как насчет использования управления исходным кодом на вашем компьютере, если вы единственный программист? Это >> хорошая практика? Есть ли связанные советы или хитрости?

Я использую SVN для всех моих личных проектов. Я начал с запуска svn на своей домашней машине, но в итоге перешел на Dreamhost. Их пакеты хостинга, которые включают Subversion, довольно разумны.

0
23.05.2017 12:32:05

Если вы работаете в Mac OSX, я обнаружил, что http://www.versionsapp.com/">Versions - невероятный (бесплатный) интерфейс GUI для SVN.

3
5.08.2008 19:01:55

На моей нынешней работе мой предшественник не использовал никакой системы контроля версий. Есть только горы папок, по крайней мере, в 3 разных местах, где он хранил все свои проекты. Можно ожидать, что любая произвольная папка проекта найдет как минимум одно имя папки «project (OLD)» и одну с именем «project»

С контролем версий вам никогда не придется делать копии «безопасных» сборок. Вам не нужно беспокоиться о том, что ваша IDE повредит файл, над которым вы работаете (я смотрю на вас, REALBasic 5.5), потому что так легко фиксировать (читай: сохранять) вашу работу каждый день.

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

Кроме того, TortoiseSVN упрощает фиксацию базы данных, щелкая правой кнопкой мыши папку.

4
5.08.2008 19:18:37

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

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

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

1
5.08.2008 23:20:03

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

4
6.08.2008 18:59:40

Если на коробке с Windows быстрое и грязное решение, это CVSNT. Легко использовать, просто настроить и работает очень хорошо.

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

0
7.08.2008 17:33:30

Я использовал RCS, CVS, SCCS, SourceSafe, Vault, Perforce, Subversion и Git.

Я оценил BitKeeper, Dimensions, Arch, Bazaar, SVK, ClearCase, PVCS и Synergy.

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

Это бесплатно, быстро и активно развивается.

И вы можете использовать его как клиент любого хранилища subversion, используя git-svn.

Это круто.

8
14.08.2008 06:21:33

@ superjoe30

А как насчет использования управления исходным кодом на вашем компьютере, если вы единственный программист? Это хорошая практика? Есть ли связанные советы или хитрости?

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

5 секундное вступление (если вы его установили)

cd myproject
git init
git add * # add all the files
git commit

В следующий раз вы сделаете некоторые изменения

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

Пока ты это делаешь, у Git есть твоя спина. Если вы запутались, ваш код в безопасном репозитории git. Это круто

  • Примечание. Вы можете найти, что получить вещи из Git немного сложнее, чем получить их, но гораздо предпочтительнее иметь такую ​​проблему, чем вообще не иметь файлов!
5
14.08.2008 07:00:50
Используйте git add .(добавить текущий каталог ), а не git add *(используйте расширение оболочки), это быстрее.
Jakub Narębski 29.06.2011 08:03:39

Если вы новичок в versioncontrol, прочтите это:
Source Control HOWTO

13
27.01.2013 12:21:12
Эрик Синк сам говорит, что эта онлайн-книга немного устарела.
Jakub Narębski 29.06.2011 08:02:24
Есть печатная книга (и PDF) Эрика Синка, но я не помню URL загрузки. Хотя книга хороша для понимания основ VCS, она не совсем справедлива. Больше правдивого маркетинга, чем реальной информации.
bahrep 18.07.2012 10:45:19

Я бы определенно выбрал SVN вместо CVS, хотя бы потому, что люди, которые изучили управление исходным кодом с помощью CVS, склонны использовать " svn delete" затем " svn add" вместо " svn move". Что затрудняет поиск всех предыдущих ревизий определенного файла. И вы всегда можете перейти на использование git-svn. Лично я считаю, что его легче освоить, чем hg, но на самом деле главная причина использования SVN заключается в том, что он во многом стал де-факто системой контроля версий программного обеспечения с открытым исходным кодом.

Если вы когда-либо планируете изучать / использовать D, то почти обязательно требуется доступ к сторонним репозиториям, таким как DSource .

0
17.08.2008 01:25:05

@ superjoe30 Да, абсолютли. Как только вы начнете использовать контроль версий, вы никогда не вернетесь назад. Я использую это для всего, даже моей "домашней" папки.

@ Орион Эдвардс Subversion не требует сервера. Вы можете получить доступ к локальному репозиторию напрямую (через клиента, конечно), и серверный процесс не задействован.

0
18.08.2008 08:17:01

Просто используйте TortoiseSVN, и вы сможете жить, даже не зная реальных команд Subversion ... Но это плохо. К счастью, всегда будет «отличная возможность» выучить их наизусть - когда ваш бесценный репозиторий впервые будет испорчен.

Да, так бывает

0
18.08.2008 14:47:18

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

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

0
22.08.2008 18:30:30
Использование file: // URL-адресов в многопользовательской среде, как правило, не самая безопасная идея, потому что способ доступа к файлам значительно повышает вероятность их повреждения. Учитывая, что настроить сервер Subversion очень просто, вам не нужно использовать file: //. Это , как говорится, я уже использовал файл: // для проектов , где я был единственным разработчиком, в этом случае он работал прекрасно.
Jim Raden 7.08.2009 19:52:41

Git превосходит Subversion, но он немного не в курсе дела.

Я бы сказал, если вы только начинаете, прыгайте на край; настроить бесплатный аккаунт @ http://github.com

На сайте есть учебные материалы по настройке и использованию git.

3
22.08.2008 18:38:37
В твоих словах я вижу несправедливость. Git НЕ превосходит по сравнению с Subversion. Git - это DVCS, которую можно считать «наилучшим образом подходящей для разработки с открытым исходным кодом», и самой изящной особенностью является то, что вы можете быстро создать проект. Subversion - это CVCS, которая намного более зрелая и стабильная, чем Git .
bahrep 18.07.2012 10:37:20

Используйте TortoiseSVN (version.app, если на Mac). Просто установите и уходите. Если вам нужно место для размещения вашего кода, посмотрите на http://beanstalkapp.com/

1
22.08.2008 18:42:41

Исходя из личного опыта, SVN будет моей рекомендацией. Вы даже можете использовать такой сервис, как Beanstalk, который предлагает бесплатные учетные записи (с ограничениями, очевидно, но достаточными для любого небольшого проекта) для тестирования воды. Но, как уже говорили другие, git превосходит и, вероятно, заслуживает изучения.

0
22.08.2008 18:42:50

Краткий ответ: Subversion, если вы единственный, кто его кодирует, или вы на сайте со всеми, с кем работаете. GIT, если вы работаете с людьми на разных сайтах и ​​ваша кодовая база огромна.

Subversion действительно очень прост в настройке и использовании. Это также хорошо, потому что вы можете делать с ним относительно сложные вещи, такие как подключить его к Apache и использовать SSL или подключить его к Trac для управления проектами. Для Subversion так много инструментов, что это действительно хороший выбор.

GIT гораздо полезнее для людей, которые работают в больших командах, работающих в распределенной среде. Линус Т. разработал его для команды Linux, потому что он был недоволен возможностями традиционных репозиториев. Стоит учиться, если вы планируете работать с людьми над проектами с открытым исходным кодом.

-1
25.08.2008 14:46:53

У Coding Horror есть отличный пост о том, как настроить Subversion в Windows .

После обучения я смог запустить Subervsion и TortoiseSVN локально, и получил необходимое образование.

Что касается Git, то, вероятно, было бы неплохо поэкспериментировать с ними обоими, чтобы понять, какой из них подходит для вашей конкретной практики разработки.

0
11.04.2018 16:59:29

Одним из основных советов, облегчающих настройку сервера SVN прямо сейчас, является использование виртуального устройства. То есть виртуальная машина с предустановленной Subversion и (в основном) предварительно настроенной на нее - в значительной степени подключи и играй. Вы можете попробовать здесь , здесь и здесь , или просто попробовать поискать в Google на «виртуальном устройстве Subversion».

0
30.08.2008 16:30:14

Я начал использовать Subversion после прочтения блога Уил Шиплис.

Поэтому я начал проверять код, одну машину и учетную запись Dreamhost. Затем, после того как я случайно удалил функцию и сохранил свой проект, я понял, что был в глубоком «dudu», но с помощью subversion я просто извлек последнюю версию этого файла, и это было так, будто ничего не произошло.

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

0
2.09.2008 09:35:40