Svn checkout что это
Ultima Online Essence
SVN (или Subversion) — свободная централизованная система контроля версий. Системы контроля версий позволяет хранить несколько версий одного и того же файла, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое. Помимо хранения главная ее задача в организации работы с одними и теми же файлами команды разработчиков, ведь часто возникает проблема когда в один и тот же файл разными участниками проекта одновременно вносятся разные изменения. В настоящее время Subversion используется многими сообществами разработчиков и по популярности стоит фактически на первом месте. Несмотря на то что SVN ориентированна прежде всего на хранение текстовых файлов (например исходного кода) она хорошо себя зарекомендовали и для хранения других ресурсов, таких как картинки, библиотеки и прочего.
Быстрый старт¶
Скачивание репозитория SVN (Checkout)¶
Если Вы хотите скачать репозиторий какого-нибудь проекта, то Вы должны знать его URL, а также логин и пароль для доступа (если не указаны, то для анонимного доступа (только чтение) используется логин и пароль anonsvn). URL может быть следующего вида:
Допустим, что URL нам известен, поэтому чтобы скачать репозиторий, мы должны сделать следующее:
Обновление скачанного репозитория (Update)¶
SVN и создавался для удобного управления проектам, а также поддержания их в актуальном состоянии, поэтому вторая по значимости операция — обновления скачанной рабочей копии. Рекомендуется как можно чаще обновлять свои рабочие копии. При обновлении скачиваются только изменённые файлы, добавляются новые и удаляются удалённые из репозитория файлы. Итак, чтобы обновить рабочую копию, нужно:
Сохранение своих изменений в репозиторий (Commit)¶
Если Вы хотите внести свои изменения в скачанный репозиторий и у Вас есть на это право (право коммита в репозиторий), то просто начинайте работать с локальной рабочей копией как с обычной папкой: создавайте, редактируйте, удаляйте файлы и/или папки. Теперь чтобы внести изменения в репозиторий, нужно:
Слияние версий (Модель «Копирование-Изменение-Слияние»)¶
Блокировки (Модель «Блокирование-Изменение-Разблокирование»)¶
Конфликты и их разрешение¶
Работа с репозиторием напрямую на сервере¶
Иногда требуется работать с svn-репозиторием напрямую на сервере не скачивая его на локальный компьютер. Для этих целей существует утилита «SVN Repo-browser«, также входящая в состав TortoiseSVN. Работать с ней очень просто:
Создание веток или меток внутри репозитория¶
Если Вы работаете над большим проектом, то желательно для каждой публичной стабильной версии (1.0, 1.1, 2.0 и т.д.) создавать отдельный тег, например, /tags/RELEASE-Mj.Mn, где Mj — Major-версия, а Mn — Minor-версия проекта. Пример: /tags/RELEASE-1.0 (для версии 1.0), /tags/RELEASE-2.63 (для версии 2.63) и т.д. Внимание! Теги создаются НЕ в каталоге /trunk/, а выше него на один уровень! Чтобы создать метку или ветвление, нужно (у Вас должно быть право коммита в репозиторий для создания меток или ветвлений):
Откат изменений в рабочей копии¶
Если работая с локальным репозиторием Вы совершили какую-либо ошибку, например, повредили какой-то файл, неправильно отредактировали и т.д., то это легко исправить:
Работа с утилитой Log Viewer¶
Утилита Log Viewer, запускаемая после нажатия на кнопку «Show log…«, либо при нажатии правой кнопкой по свободному месту в локальной рабочей копии — «TortoiseSVN» — «Show log«. По умолчанию утилита показывает последние 50 ревизий и их описаний (если во время коммита они были введены). Все основные действия выполняются из контекстного меню ревизии:
Кнопка «Show all» покажет все ревизии, а «Show range…» позволит задать диапазон ревизий, которые будут отображаться в окне Log Viewer.
Кнопка «Statistics» отображает различную статистическую информацию: наиболее активный и наименее активный автор, количество изменений в репозитории в неделю, общее количество изменений и т.д.
Работа с TortoiseSVN
Введение
В данном HOWTO будет подробно рассказано как работать с самым популярным SVN-клиентом под Windows: скачивать и обновлять репозитории, создавать теги и ветки проекта, коммитить (публиковать) свою рабочую копию, откатывать сделанные изменения и многое другое.
Где можно скачать программу
Скачать программу можно на её официальном сайте на странице Downloads: http://tortoisesvn.net/downloads. Там же можно скачать пакет локализации, содержащий помимо перевода интерфейса программы, ещё и словарь проверки орфографии (применяется при коммите изменений (см. ниже)).
Программа TortoiseSVN интегрируется в Проводник Windows (Windows Explorer) и все действия с ней выполняются из контекстного меню каталогов (папок).
Начнём с самого простого — скачивания одного из репозиториев на свой компьютер.
Скачивание репозитория SVN (Checkout)
Если Вы хотите скачать репозиторий какого-нибудь проекта, то Вы должны знать его URL, а также логин и пароль для доступа (если не указаны, то для анонимного доступа (только чтение) используется логин и пароль anonsvn). URL’ы могут быть:
Допустим, что URL нам известен, поэтому чтобы скачать репозиторий, мы должны сделать следующее:
Обновление скачанного репозитория (Update)
SVN и создавался для удобного управления проектам, а также поддержания их в актуальном состоянии, поэтому вторая по значимости операция — обновления скачанной рабочей копии. Рекомендуется как можно чаще обновлять свои рабочие копии. При обновлении скачиваются только изменённые файлы, добавляются новые и удаляются удалённые из репозитория файлы. Итак, чтобы обновить рабочую копию, нужно:
Сохранение своих изменений в репозиторий (Commit)
Если Вы хотите внести свои изменения в скачанный репозиторий и у Вас есть на это право (право коммита в репозиторий), то просто начинайте работать с локальной рабочей копией как с обычной папкой: создавайте, редактируйте, удаляйте файлы и/или папки. Теперь чтобы внести изменения в репозиторий, нужно:
Работа с репозиторием напрямую на сервере
Иногда требуется работать с svn-репозиторием напрямую на сервере не скачивая его на локальный компьютер. Для этих целей существует утилита «SVN Repo-browser«, также входящая в состав TortoiseSVN. Работать с ней очень просто:
Создание веток или меток внутри репозитория
Откат изменений в рабочей копии
Если работая с локальным репозиторием Вы совершили какую-либо ошибку, например, повредили какой-то файл, неправильно отредактировали и т.д., то это легко исправить:
Работа с утилитой Log Viewer
Утилита Log Viewer, запускаемая после нажатия на кнопку «Show log…«, либо при нажатии правой кнопкой по свободному месту в локальной рабочей копии — «TortoiseSVN» — «Show log«. По умолчанию утилита показывает последние 50 ревизий и их описаний (если во время коммита они были введены). Все основные действия выполняются из контекстного меню ревизии:
Кнопка «Show all» покажет все ревизии, а «Show range…» позволит задать диапазон ревизий, которые будут отображаться в окне Log Viewer.
Кнопка «Statistics» отображает различную статистическую информацию: наиболее активный и наименее активный автор, количество изменений в репозитории в неделю, общее количество изменений и т.д.
В чем разница между import и checkout командами?
Только учусь пользоваться svn (сам до этого использовал git). Случайно импортировал репозиторий в пустую папку (посредством import команды). Теперь читаю документацию, и там сказано что лучше использовать checkout. В чем конкретно разница между этими командами?
1 ответ 1
Ответ оказался прост. Я просто перепутал значение этой команды. Изначально я думал, что импорт выполняет копирование хранилища (рабочее место) в пустую папку. Как раз нет, в документации сказано, что эта команда копирует содержимое! папки в хранилище. Все что я наблюдал, было просто обновление рабочего места (которое загружалось в пустую папку) и все (так как папка пуста, то импорта не происходило).
Выводы: никогда для подобных целей не использовать команду импорта (использовать команду checkout). Более того, даже после такого трюка (команда import), содержимое папки не будет рабочим местом (для этого придется снова извлечь файлы с хранилища!)
Всё ещё ищете ответ? Посмотрите другие вопросы с метками svn tortoise-svn или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.6.40898
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Основы использования Subversion (SVN)
Пройдемся по списку основных консольных команд svn.
К ним можно отнести : checkout, update, status, ignore, log, add, delete.
Для работы с SVN чаще всего предоставляют лишь ссылку на репозиторий. К примеру:
projectname – название репозитория, а dir/name – является путем внутри репозитория.
svn checkout
В случае, если необходимо загрузить с конкретной директории, например img, используем команду:
svn ignore
Если есть необходимость не сохранять не нужные файлы, можно использовать команду ignore.
Здесь pedit – это команда редактирования опций (properties edit), а svn:ignore – это опция, которую мы редактируем.
После выполнения этой команды, откроется редактирование текстового файла. В нём необходимо указать файлы, которые нужно игнорировать. Каждая запись должна вводиться в новой строке. После сохраняем изменения.
svn status
Для того чтобы посмотреть статус изменений в рабочей копии, используем команду:
Первый символ в выводе определяет характер изменений:
‘ ‘ без изменений
‘A’ добавлено
‘C’ конфликт
‘D’ удалено
‘I’ проигнорировано
‘M’ изменено
‘R’ заменено
‘X’ добавлена новая директория
‘?’ элемент для которого не ведется контроль версий (новый файл)
‘!’ элемент отсутствует (удалено без подтверждения в svn)
svn commit
Для фиксации изменений на сервере (сохранить внесенные правки), требуется использовать команду:
Чтоб другим пользователям было понятно, что было сделано, можно делать вот такие коммиты (то есть оставлять комментарии к изменениям/действиям):
svn update
Если репозиторий использует несколько разработчиков, чтобы проследить их изменения, нужно использовать команду:
svn log
Просмотреть лог изменений, можно командой:
Добавление, удаление файлов:
Для базовой работы з Subversion вышеописанного перечня команд будет достаточно. От лица компании Hyper Host желаю Вам успехов в Вашем деле!
SVN для чайников. Часть I.
Данный цикл статей посвящен введению в использование SVN, с точки зрения обычного пользователя. Статья была написана в помощь моим коллегам для быстрого освоения и использования SVN. Итак начнем с азов.
Введение
Subversion (SVN) — бесплатная система управления версиями с открытым исходным кодом. SVN позволяет управлять файлами и каталогами, а так же сделанными в них изменениями во времени. SVN предоставляет следующие возможности :
Список основных терминов
Программное обеспечение
Работа с репозиторием SVN рассмотрена на основе программного обеспечения TortoiseSVN tortoisesvn.net/ версии 1.5.8 и программы сравнения файлов ExamDiff.
Комментарии
re: error
Решил поставить данную систему, посмотреть, как работает.
После установки создал папку test, зашел в нее и запустил repository browser.
сначала нужно сделать
Уточните пожалуйста.
«Добавлять, перемещать и удалять папки и файлы проекта лучше в рабочей копии. Использовать для этих целей репозиторий не рекомендуется. Использовать возможности репозитория для целей управления папками и файлами нужно только в случае, если нужное действие сложно сделать в рабочей копии. К таким действиям относится копирование и перемещение папок и файлов.»
Так как все же лучше осуществлять перемещение папок и файлов? В рабочей копии или средствами репозитория?
SVN уже труп давно,
SVN уже труп давно, используёте git и будет вам щастье!
Вы абсолютно правы. Но во
Вы абсолютно правы. Но во первых :
Суть данных статей не сказать «делай так», а показать «как можно делать». Все это идет в контексте планирования проекта и постановки задач. А это можно показывать на любой системе контроля версий. Мне git избыточен. А на вкус и цвет все фломастеры разные
А если я например хочу чтобы
А если я например хочу чтобы эта папка больше не была репозиторием как это сделать?
Непонятно какая папка. В SVN
Непонятно какая папка.
В SVN репозиторий либо есть, либо его нет. Если вам папка репозитория не нужна, то просто удалите ее. Но понимайте последствия.
Если вы хотите вывести рабочую копию из под контроля SVN сделайте export
Очень полезная статья
Спасибо за статью. Все очень понятно и доходчиво )