Svn
Начало работы с 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/