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

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

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

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

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

71 голос | спросил 9 revs, 5 users 73%
Mark Norgren
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

30 ответов


0

Самое важное в управлении версиями:

ПРОСТО НАЧИНАЙТЕ ИСПОЛЬЗОВАТЬ ЭТО

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

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

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

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

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


Edit:

  

pix0r сказал:

     

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

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

Изменить 2:

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

Если вы новичок в versioncontrol, прочитайте это:
HOWTO по управлению источниками

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

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

Перейти на SVN.

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

Я оценил BitKeeper, Размеры, арку, базар, SVK, ClearCase, PVCS и Synergy.

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

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

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

Это качается.

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0
  

@ 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 немного сложнее, чем получить их, но гораздо предпочтительнее иметь такую ​​проблему, чем вообще не иметь файлов!
ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

Исходя из собственного опыта, я не рекомендовал бы git как введение в управление версиями. Я использую его уже пару месяцев, и у меня сложилось впечатление, что он очень мощный и - теперь, когда я частично обдумал это - достаточно интуитивно понятен. Тем не менее, кривая обучения очень крутая, хотя я использую контроль версий в течение многих лет. Он также страдает от чрезмерной выразительности - он поддерживает множество различных рабочих процессов и моделей разработки, но единственное руководство по «лучшему» способу его использования - несколько страниц в поиске в Google, что также затрудняет выбор новичка. вверх.

Тем не менее, вполне возможно, что начать с чистого листа с помощью git действительно будет проще - мой опыт работы с VCS полностью связан с централизованным управлением версиями (CVS, SVN, Perforce ...) и частью моей (постоянной!) проблемы с Git понимает значение распределенной модели. Я кратко взглянул на другие DVCS, такие как Bazaar и Mercurial, и они казались более дружелюбными к новичкам.

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

О, и не начинай с CVS. Он все еще находится в практическом использовании и имеет свои преимущества, но, по-моему, в нем слишком много исторических причуд и проблем с реализацией (неатомных коммитов!), Чтобы быть хорошим способом обучения.

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

Git превосходит subversion, но он немного не в себе.

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

SubVersion - лучший выбор для вас, как отметил Карл Сегуин. Переход на другую систему управления версиями не будет проблемой. также SVN имеет очень простой и удобный графический интерфейс на стороне клиента (TortoiseSVN).

http://www.snee.com/bobdc.blog /2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With% 20Subversion

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

Если вы решили использовать Subversion и хотите разместить свой собственный сервер SVN, то существует очень хороший и простой сервер на базе Windows, называемый сервером VisualSVN. Это скрывает сложность настройки сервера Apache, вы просто идете дальше, следующий дальше. Конфигурация пользователя обрабатывается с помощью веб-интерфейса вместо конфигурации

http://www.visualsvn.com/server/

использовать общедоступный бобовый стебель rlike, возможно, проще, но некоторым людям нравится иметь свои собственные репозитории, либо для скорости, либо для безопасности

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0
  

superjoe30 пишет :

     
    

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

         

Как насчет использования системы контроля версий на вашем компьютере, если вы являетесь единственным программистом? & Gt;> это хорошая практика? Есть ли связанные советы или хитрости?

  

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

Да, это происходит.

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55
0

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

ответил pauminku 12 TueEurope/Moscow2017-12-12T16:35:55+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 16:35:55 +0300 2017, 16:35:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132