Svn

Материал из support.qbpro.ru

Начало работы с SVN (checkout, update, status, ignore, log)

Возникла необходимость научить свеого друга пользоваться svn. И я ему начал писать письмо с кратким экскурсом по основным командам. Полчился, на мой взгляд, неплохой пост для краткого ввдения в то, как начать пользоваться svn. Далее и привожу этот экскрус по основным консольным командам svn. Я затронул вот такие моменты: checkout, update, status, ignore, log

При работе с SVN тебе дают просто ссылку (у нас например просто в примечаниях к проекту она указывается и всё) на репозиторий или какой-то конкретный путь в репозитории. Например

http://example.com/svn/projectname/some/path

Тут projectname – это название репозитория, а some/path – это уже путь внутри репозитория.

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

Ну вобщем раз у тебя есть ссылка, то ты должен забрать данные из репозитория. Для этого воспользуйся командой «svn co» Почитай «svn help co»

Причём заметь: для примера требуемые файлы находятся не сразу в папке some/path, а в еще одной (например, html). Т.е. возможно тебе не захочется, чтобы в твоей файловой системе по пути к main.html была лишняя папка. тогда ты можешь просто делать чекаут другого немного пути:

http://example.com/svn/projectname/some/path/html

Ну и checkout ты будешь делать так:

svn co http://example.com/svn/projectname/some/path/html/ .

Кстати обрати внимание на второй параметр у svn co ;)

Если это твой первый checkout, то скорее всего тебе будет предложено указать имя пользователя и пароль для доступа к репозиторию, а так же будет предложено сохранить эти данные на твоём компе, чтобы не вводить их каждый раз. Соглашайся. А логин и пароль спрашивай у администратора svn.

Идём далее.

svn:ignore

В svn не принято хранить всякие «шлаковые» файлы. Например при работе над проектом в zend автоматически в папке проекта создаются файлы .settings, .buildpath и тд. В этимх файлах хранятся настройки среды разработки для тебя лично. И другим людям, кто будет забирать данные из этого же репозитория эти файлы не нужны, а скорее будут мешать. Так же не принято в svn хранить конфигурационные файлы проекта, которые индивидуальны для разных копий. Ну например файл с конфигурацией с доступом к базе данных.

Вобщем таких файлов быть не должно в svn. для этого ты должен проставить на них игнор. Выглядит это примерно так:

svn pedit svn:ignore . — для выставления игноров на текущую папку
svn pedit svn:ignore ./folder/ — для выставления игноров на папку folder, которая находится в текущей папке.

Тут pedit – это команда для редактирования опций (properties edit) (глянб также pget, pset, pdel), а svn:ignore – это опция, которую мы редактируем (есть и другие). И далее следует параметр – это для какой папки будем указывать опцию. Точка – это текущая папка.

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

svn status

И проверяешь командой

svn status

Если всё хорошо, то файлов, на которые ты выставил игноры ты не увидишь.

svn commit

Теперь осталось зафиксироваться (закоммитить) изменения на сервере. для этого выполняй:

svn ci -m «проставил игноры на ненужные файлы и папки»

ну вот и всё с игнорами.

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

svn ci -m «сверстал верхнюю менюшку»

Так же ты просто можешь написать svn ci и тогда тебе откроется текстовый файл на редактирование, где в верхней части ты можешь написать своё пояснение (тут кстати можно и в несколько строчек писать). Затем закрываешь файл и происходит коммит.

svn update

Если кто-то другой сделал изменения и тебе надо их получить, то пиши svn up

svn log

Так же ты можешь посмотреть лог (т.е. кем и когда были сделаны коммиты и что было написано в сообщении (-m «блабла»))

svn log -l 5

Тут флаг -l используется для установки ограничения (limit) на количество записей, которые ты хочешь посмотреть. Лучше всегд используй лимит. Иначе ты будешь получать список всех ревизий. А если их будет 100 или 1000? )

Ну вот вроде бы и всё.

UPD: svn – фигня! юзайте git! =)

tags: dev, svn posted in svn by yas

  • взято тут:

[1]http://bestblog.name/2010/01/nachalo-raboty-s-svn-checkout-update-status-ignore-log/