Базовые команды
Извлекаем проекты
Вам необходимо знать URL компонентов, которые вы хотите извлечь. После этого Вы сможете сделать одно из следующих действийsvn checkout url
svn co urlЭти команды позволяют всё извлечь в директорию с именем по умолчанию. Например
svn checkout http://code.djangoproject.com/svn/django/trunkЭта комманда извлечет django в директорию с названием trunk в текущей директории.
Вы так же можете указать название директории, в которую будeт извлечены файлы:
svn checkout http://code.djangoproject.com/svn/django/trunk djangoТаким способом Вы извлечеты всё в директорию django
Svn Update и Revert
Svn update сливает изменения в репозитории и локальные изменения в коде, или показывает места, где возникли конфликты (конфликты показаны буквой C напротив файлов, который вы пытались обновить). Если кто-то другой закоммитил изменения в репозиторий и это не привело к конфликту с Вашей текущей версией, то svn update покажет G вместо C. Как бороться с конфликтами будет рассказано чуть ниже.- Чтобы обновить локальные файлы с изменениями, произведенными в репозитории, сделайте «svn update»
svn update
... - Чтобы перезаписать локальные файлы файлами из репозитория, сделайте «svn revert» – это может быть нужно, если Вы хотите вернуться к версии файлов, лежащих в репозитории, при этом вы потеряете все изменения, которые Вы внесли в него с момента последнего коммита
svn revert
...
svn update
Svn Diff
Заметьте, что diff не подключается к репозиторию! Он сравнивает ваши файлы с файлами, которые вы скачали, а не теми, что сейчас находятся в репозитории!Чтобы узнать какие изменения вы делали с файлами наберите:
cd <Нужная директория> svn diff
Svn commit
Запустите svn diff чтобы увидеть какие изменения вы вносили в файл с момента последнего апдейта. Потом обновите файл svn up, запустите svn diff , и svn commit с сообщением:svn diffПокажет вам изменения с последнего обновления.
svn updateЭта комманда сольет изменения, внесенные в файл в репозитории с теми что внесли Вы. Ваши изменения имеют приоритет. Но могут возникнуть конфликты, если строки которые вы правили на Вашей машине были изменены в репозитории с вашего последнего апдейта.
svn diffdiff покажет отличия между файлами: Вашим и тем что в репозитории. Убедитесь в том, что только новый код, который вы добавили это совокупность различий.
svn commit -m'Message'Message – это сообщение, которое пояснит какие правки вы вносили.
Чтобы производить действия над несколькими файлами, отделите их пробелами:
svn diffsvn update svn diff svn commit - m "message"
Добавляем новый файл в репозиторий
Как добавить новый файл в svn репозиторийsvn addВы можете добавить несколько файловsvn commit -m "This new file will do something useful"
svn addsvn commit -m "These new files work together to add some extra functionality"
Удаляем файлы из репозитория
Чтобы удалить файл из репозитория, если вы не находитесь в рабочей копииsvn remove -m "I deleted this file for a reason" http://svn.greenstone.org/....../thefile.extАлиасы для svn remove : svn delete , svn rm. Вы не можете удалить несколько файлов из репозитория за 1 раз в одну строку
Полезные команды svn
svn info
svn switch
svn statusЕсли вы делаете svn status в директории, он рекурсивно выдаст список всех Модифицированных (M), Удаленных (D) и добавленных (A) файлов. Так же он покажет и список конфликтных файлов (C) и тех, о которых svn не имеет понятия (?). Чтобы увидеть изменения в каждом отдельном файле наберите
svn diff
svn help svn help [item] svn help status
svn help commit
Конфликты svn и пути их решения
- Когда вы делаете «svn status» в директории, в которой есть файлы помеченные C, это значит, что файлы конфликтуют с версиями в репозитории
- svn update тоже может показать, что файлы конфликтуют. Если вы произвели svn up и один или несколько файлов имеют статус С – у Вас конфликт. Это значит, что пока вы работали над определенными строками(меняли их), кто-то уже успел внести изменения в эти же строки и сохранить их в репозитории. svn update не смог объединить код тк строки не совпали: строки конфликтуют.
Чтобы разрешить конфликт в файле, помеченном C
- Откройте конфликтный файл в редакторе
- Ищите вхождения «>>>>» или «====». Каждое такое вхождение указывает на конфликтную секцию, которую нужно решить.
- Разберитесь что делать с различающимися частями – какую оставить, какую убрать или как совместить их.
- Как только закончите редактирование, нужно поставить статус разрешенного конфликта!
svn resolvedЕсли попробуете ещё раз набрать svn update, конфликта больше быть не должно.
источник
Комментариев нет:
Отправить комментарий