Кроме того, SVN-клиент также имеется в Xcode, но лично я предпочитаю работать через Терминал (командную строку).
1. Сначала нужно создать локальный SVN-репозитарий
Допустим, вы хотите создать репозитарий в виде папки SVN_R, которая будет расположена в папке /Volumes/Data/MyRepositories/ (то есть в папке MyRepositories, которая будет лежать в корне диска Data).
Для этого войдите в папку MyRepositories (через Терминал):
cd /Volumes/Data/MyRepositories
После этого создайте репозитарий такой командой (папку SVN_R не создавайте)
svnadmin create SVN_R
Теперь у вас создана папка, содержащая в себе SVN-репозитарий пока без каких-либо сохранённых там проектов.
Кроме того, вы можете создавать внутри репозитария папки под разные проекты с помощью команды (например, для создания папки Project1Repository)
svn mkdir file:///Volumes/Data/SVN_R/Project1Repos
2. Теперь нужно импортировать имеющийся проект в созданный репозитарий
Теперь вы можете импортировать в этот созданный репозитарий тот проект (папку
svn import /AllProjects/MyProject1 file:///Volumes/Data/SVN_R -m 'Импортировал свой проект 1'
3. Теперь нужно выкачать (chekout) из репозитария этот проект в новую рабочую папку (ту самую папку, которой суждено будет находиться под версионным контролем всю свою жизнь)
svn checkout file:///Volumes/Data/SVN_R ~/MyVersionedProjects
Символ ~ (тильда) означает вашу домашнюю папку (обычно имеющее название совпадающее с именем пользователя в Mac OS или Unix/Linux). То есть из репозитария будет выкачан проект именно в папку MyVersionedProjects, но после этого действия проект будет виден как папка MyProject1 внутри папки MyVersionedProjects (очень важно, чтобы вы не создавали сами папку MyProject1 заранее в папке MyVersionedProjects, иначе в ней появятся одни лишь служебные файлы, а не сам проект). Кроме проекта вы увидите некоторые служебные файлы и папки, в названиях которых может содержаться точка и слово svn. Ни в коем случае не удаляйте их, они нужны для обеспечения версионного контроля.
Теперь работайте с проектом только в этой рабочей папке (куда только что выкачали проект из репозитария).
4. Сохранение очередных версий (commit)
Когда вы захотите сохранить очередную версию вашего проекта, то зайдите в Терминале в РАБОЧУЮ папку проекта и закоммитьте проект
cd ~/MyVersionedProjects
svn commit -m 'Очередная версия (исправил косяк с загрузкой файлов, остался ещё косяк в GUI)'
5. Как посмотреть комментарии к прежним версиям
Для этого с помощью команды cd зайдите в терминале в рабочую папку проекта и выполните команду (для случая, если вы хотите посмотреть комментарии от 1 до 3 версии)
svn log -r 1:3
Вот что вы примерно увидите после выполнения этой команды:
----------------------------------------
r1 | Murat | 2010-04-28 13:58:34 +0700 (ср, 28 апр 2010) | 1 line
Create temporary repositary until purchase Teamprise Explorer
----------------------------------------
r2 | Murat | 2010-04-28 21:00:03 +0700 (ср, 28 апр 2010) | 1 line
Добавил ОПИСАНИЕ.txt - буду описывать, что я понял из исходников (которые не мои)
----------------------------------------
r3 | Murat | 2010-04-29 13:18:54 +0700 (чт, 29 апр 2010) | 1 line
Добавил скрипты для автоматизации сборки, копирования заголовков, очистки проектов
----------------------------------------
Таким образом, можно принять решение о том, к какой именно версии вы хотите откатиться.
6. Как откатиться к одной из предыдущих версий
Наиболее удобно восстанавливать одну из предыдущих версий не в рабочую, а в отдельную папку (но это лишь мой опыт, так что решайте сами на этот счёт).
Создайте отдельную папку (например на рабочем столе папку OLD_VERSION_2). Выполните такую команду, если хотите откатиться ко 2-й версии:
svn checkout
После выполнения этой команды кроме списка из всех восстановленных файлов внизу вы увидите сообщение
Checked out revision 2.
Теперь в папке OLD_VERSION_2 находится вся 2-я версия, полученная из репозитария.
7. Сравнение версий файлов
SVN предоставляет возможность просмотра в Терминале (в командной строке) различий между версиями файлов (для этого введите команду svn help и поищите в интернете справку), но я предпочитаю для этого использовать бесплатную программу kdiff3 (домашняя страница этой программы - http://kdiff3.sourceforge.net/). Эта программа позволяет увидеть различия в текстовых исходниках просто из разных папок (выделяя различия в тексте цветом).
Но SVN позволяет увидеть различия между указанными версиями указанных файлов.
Для того, чтобы увидеть чем отличается 3-я версия файла ОПИСАНИЕ.txt от 2-й версии в текущей папке, введите команду
svn diff -r 2:3 ОПИСАНИЕ.txt
8. Получение справки не отходя от кассы
Общая справка
svn help
Справка по выбранной команде (например, по команде diff)
svn help diff
Комментариев нет:
Отправить комментарий