Linux: CVS/SVN - взлететь за 5 секунд
CVS и SVN - это системы контроля версий программного проекта.
Используя одну из этих систем, вы сможете вести историю ваших файлов с исходными текстами, а так же производить разработку проекта несколькими программистами не мешая друг другу.
В этом материале я не буду рассказывать о всех прелестях и возможностях CVS и SVN, так как это займет не один час и мы не вложимся в установленные 5 секунд.
Итак, что нам надо знать, что бы начать работать с CVS и/или SVN не вникая во все тонкости и нюансы?
Я буду приводить примеры сразу для обоих систем, а какую из них выбрать, решайте сами.
Пункт первый. Авторизация (только для CVS).
USER_LOGIN - ваш логин в CVS,
SERVER - айпи или домен сервера, на котором находится CVS
Пункт второй. Извлечение исходников.
Пункт третий. Работаем с кодом.
Поработали, переходим к пункту четвертому
Пункт четвертый. Фиксируем изменения.
После выполнения пунктов A, B, C теперь нужно зафиксировать все изменения/добавления/удаления на сервере
Для этого выполняем команду:
Пункт пятый. Несколько полезных cvs-команд.
посмотреть информацию и статус о выбранном файле.
Пункт шестой. Хочу знать больше!
Как видите, команды CVS и SVN практически идентичны, за исключением некоторых моментов.
Если данного экскурса вам показалось мало, то более подробно про работу с CVS вы можете прочитать здесь: CVS - Система Управления Параллельными Версиями
А для тех, кто использует SVN, я б посоветовал сходить сюда:
Начало работы с SVN
Wiki: Subversion
Управление версиями в Subversion
Экскурсия по Subversion: Простейший рабочий цикл
Используя одну из этих систем, вы сможете вести историю ваших файлов с исходными текстами, а так же производить разработку проекта несколькими программистами не мешая друг другу.
В этом материале я не буду рассказывать о всех прелестях и возможностях CVS и SVN, так как это займет не один час и мы не вложимся в установленные 5 секунд.
Итак, что нам надо знать, что бы начать работать с CVS и/или SVN не вникая во все тонкости и нюансы?
Я буду приводить примеры сразу для обоих систем, а какую из них выбрать, решайте сами.
Пункт первый. Авторизация (только для CVS).
Надеюсь вы уже перешли в нужную директорию на своём жестком диске,
в которой мы будем разворачивать исходники нашего проекта из CVS или SVN
в которой мы будем разворачивать исходники нашего проекта из CVS или SVN
cvs -d :pserver:USER_LOGIN@SERVER:/home/cvs/CVS loginгде,
USER_LOGIN - ваш логин в CVS,
SERVER - айпи или домен сервера, на котором находится CVS
Пункт второй. Извлечение исходников.
- CVS
cvs -d :pserver:USER_LOGIN@SERVER:/home/cvs/CVS checkout ИМЯ_ПРОЕКТА
В дальнейшем, при работе с этим проектом, длинную строчку "-d :pserver:USER_LOGIN@SERVER:/home/cvs/CVS" можно опустить, так как внутри каждой директории проекта будет находиться папка CVS, в которой есть информация с какого именно репозитория были взяты файлы.
- SVN
svn checkout http://example.com/svn/projectname/some/path/html/ .
Если это твой первый checkout, то скорее всего тебе будет предложено указать имя пользователя и пароль для доступа к репозиторию, а так же будет предложено сохранить эти данные на твоём компе, чтобы не вводить их каждый раз. Соглашайся. А логин и пароль спрашивай у администратора svn.
Пункт третий. Работаем с кодом.
Поработали, переходим к пункту четвертому
Пункт четвертый. Фиксируем изменения.
- Если правили файл.
С начало убедимся в том, что никто не правил эти же файлы и, соответственно, не произойдет конфликта версий.
- CVS
cvs -q update -d имя_файла
- SVN
svn update имя_файла svn status имя_файла
"имя_файла" - опция. Если его не задавать, то update будет выполнен во всей текущей и вложенных директорияхпосле выполнения этой команды мы получим список файлов, которые были изменены вами или другими разработчиками.
вывод на экран будет примерно такой:
M file1.txt
C file2.txt
A file3.txt
R file4.txt (для CVS)
D file4.txt (для SVN)
где, M/C/A/R/D - это атрибуты, которые указывают на:
M - этот же файл был изменен другим разработчиком. Изменения объединены. Конфликтов нет.
С - этот же файл был изменен другим разработчиком. Изменения объединены. Есть конфликты.
в таком случае открываем на редактирование file2.txt, ищем строки <<<<<<< и >>>>>>>.
устраняем спорные места и делаем update еще раз.
A - это новый файл, который вы хотите добавить в CVS или SVN
R - этот файл вы желаете удалить из CVS
D - этот файл вы желаете удалить из SVN
- CVS
- Если хотите добавить новый файл
- CVS
cvs add имя_файла
- SVN
svn add имя_файла
- CVS
- Если хотите удалить файл
- CVS
cvs remove имя_файла
- SVN
svn remove имя_файла
- CVS
После выполнения пунктов A, B, C теперь нужно зафиксировать все изменения/добавления/удаления на сервере
Для этого выполняем команду:
- CVS
cvs -q commit -m 'комментарий к изменениям' имя_файла
- SVN
svn -q commit -m 'комментарий к изменениям' имя_файла
"имя_файла" - опция. Если его не задавать, то commit будет выполнен во всей текущей и вложенных директориях
Пункт пятый. Несколько полезных cvs-команд.
посмотреть информацию и статус о выбранном файле.
cvs -q status имя_файла svn info имя_файласравнить локальный файл и его версию, находящуюся в CVS или SVN
cvs -q diff имя_файла svn diff имя_файласравнить версии файла, находящиеся в CVS
cvs -q diff -r номер_версии_1 -r номер_версии_2 имя_файласоздать новый проект в CVS на локальном компьютере
cvs import -m "комментарий" имя_проекта yoyo startсоздать новый проект в CVS на удаленном сервере
cvs -d :pserver:USER_LOGIN@SERVER:/home/cvs/CVS import -m "комментарий" имя_проекта yoyo start
Пункт шестой. Хочу знать больше!
Как видите, команды CVS и SVN практически идентичны, за исключением некоторых моментов.
Если данного экскурса вам показалось мало, то более подробно про работу с CVS вы можете прочитать здесь: CVS - Система Управления Параллельными Версиями
А для тех, кто использует SVN, я б посоветовал сходить сюда:
Начало работы с SVN
Wiki: Subversion
Управление версиями в Subversion
Экскурсия по Subversion: Простейший рабочий цикл
Похожие материалы:
Комментарии:
5 Ноября 2026 (12:56:06)
sakagom918
(гость)
• ответить
The promotional offers and loyalty incentives structured by Nika Casino add a brilliant layer of extra excitement to routine gameplay. Alongside a generous welcome bonus package for new sign-ups, regular weekly reloads and recurring perks keep the momentum going strong. Furthermore, all wagering requirements and terms are laid out in clear, straightforward English, meaning you can easily track your progress without any hidden surprises in the fine print.