Учебник по TortoiseSVN
TortoiseSVN — это бесплатный клиент с открытым исходным кодом для системы контроля версий Subversion, который позволяет управлять файлами и каталогами с течением времени.
Установка TortoiseSVN
Адрес загрузки:https://tortoisesvn.net/downloads.htmlСтраница содержит ссылки для загрузки патчей языковых пакетов.
Последняя версия — 1.11.0. Адрес загрузки:https://osdn.net/projects/tortoisesvn/storage/1.11.0/

В языковом пакете можно найти китайский патч и скачать его:

Запустите скачанный установщик TortoiseSVN

Запустите скачанный китайский языковой пакет TortoiseSVN

После правильной установки следует один раз перезагрузить компьютер, чтобы убедиться, что TortoiseSVN работает правильно.
Изменение языка TortoiseSVN по умолчанию
После установки интерфейс TortoiseSVN по умолчанию на английском языке. Мы можем изменить его на установленный язык через настройки.

Использование TortoiseSVN
Создайте рабочий каталог с именем example01
Так называемый каталог example01 — это фактически место, где вы обычно храните свои рабочие файлы. Обычно мы ждём, пока не завершим определённый этап работы, прежде чем делать резервную копию. Поэтому обычно мы работаем в каталоге example01 и в подходящий момент фиксируем изменения в репозитории. Например, мы хотим создать каталог с именем example01 на диске D. Сначала создайте этот каталог.

Войдя в созданный каталог, щёлкните правой кнопкой мыши по пустой области (можно щёлкнуть правой кнопкой мыши по значку каталога MyWork или войти в каталог MyWork и щёлкнуть правой кнопкой мыши по пустой области), затем выберитеSVN checkout。

Затем вы увидите следующий экран:

Сначала нам нужно указать расположение репозитория. Для SVN расположение репозитория — это URL. В поле "URL репозитория" введите адрес тестового репозитория.svn://10.0.4.17/example01。
Затем посмотрите на "Каталог выгрузки". Это поле должно указывать на ваш каталог example01.

После подтверждения нажмите OK. Вы должны увидеть следующее информационное окно.

Это означает, что действие завершено. После нажатия OK перейдите в только что созданный каталог. Вы увидите, что в каталоге MyWork появился дополнительный каталог с именем.svnкаталог (этот каталог скрыт; если в вашем файловом менеджере не включён показ скрытых каталогов, вы не сможете его увидеть).

Если вы хотите выгрузить указанные выше файлы с существующего SVN-сервера, вам нужно только указать правильный URL SVN и имя каталога для выгрузки. Тогда вы сможете получить указанные файлы и каталоги.
Добавление файлов и каталогов в репозиторий — add & commit
Создайте каталог dir01 и добавьте в него новые файлы.

Чтобы добавить новые файлы под управление версиями SVN, TortoiseSVN покажет файлы и каталоги, готовые к добавлению. Отметьте файлы, которые хотите добавить.

После нажатия OK вы увидите следующее окно сообщения:

Это действие Add на самом деле не помещает файлы в репозиторий. Оно лишь сообщает SVN, что эти файлы готовы к добавлению в репозиторий. На данном этапе статус файла:

Чтобы действительно поместить эти файлы в репозиторий, щёлкните правой кнопкой мыши по пустой области и выберите SVN Commit. Затем появится следующее окно:

Здесь вы можете ясно видеть, какие файлы будут зафиксированы в репозитории. Аналогично, если есть файлы, которые вы не хотите фиксировать в репозиторий сейчас, вы можете снять их флажки, и они не будут зафиксированы в репозитории. В текстовом поле "Message" вы можете написать описание для этой фиксации.
После нажатия "OK" для завершения операции фиксации вы можете перейти в каталог example и проверить, все ли значки файлов имеют зелёную галочку, как показано ниже. Это означает, что ваши файлы были правильно загружены в репозиторий.

Обновление файлов и каталогов — update
Поскольку системы контроля версий обычно используются многими людьми, одни и те же файлы также могут редактироваться другими. Чтобы гарантировать, что файлы в вашем рабочем каталоге синхронизированы с файлами в репозитории, рекомендуется обновлять их перед редактированием.
Щёлкните правой кнопкой мыши по значку файла или каталога, который хотите обновить, и выберите SVN Update.

Иногда нам нужно вернуться к определённой дате или ревизии. В этом случае можно использовать функцию SVN "Update to revision". Щёлкните правой кнопкой мыши по значку файла или каталога, который хотите обновить, и выберите TortoiseSVN -> Update to revision.

Копирование файлов и каталогов — ветка
Много раз вам может понадобиться другая копия каталога, чтобы внести новые правки. После подтверждения того, что изменения в этой ветке завершены, объедините их обратно в исходную основную версию разработки. Например, сейчас у нас есть следующие каталоги и файлы в example01/trunk:

Теперь мы хотим создать ветку для каталога trunk. Предположим, мы хотим, чтобы этот каталог был D:\example01\branch. Сначала можно щёлкнуть правой кнопкой мыши по пустой области внутри каталога trunk или прямо по значку trunk и выбрать пункт Branch/Tag.... Появится следующее диалоговое окно.


Сначала убедитесь, что каталог в поле «From WC at URL» — это исходный каталог, который вы хотите скопировать. Затем введите целевой путь в «To URL». Обычно мы помещаем все ветки в один каталог. В приведённом выше примере файлы ветки размещаются в подкаталоге branch. В поле «To URL» нужно ввести только нужный каталог. Если каталог не существует, SVN создаст его для вас. Особенно обратите внимание, что SVN использует прямые слэши в качестве разделителей каталогов, а не обратные. Затем введите назначение этой ветки в поле «Log message» и нажмите OK.
Если всё прошло успешно, вы увидите следующий экран:

Нажмите OK, чтобы закрыть это окно. Если вы сразу перейдёте в подкаталог branch внутри каталога example01, вас постигнет разочарование: указанного вами каталога там не окажется. Это потому, что часть каталога example01 всё ещё старая. Достаточно выполнить SVN update в подкаталоге branch, чтобы увидеть этот только что добавленный каталог. Теперь новый каталог независим от исходного каталога. Вы можете свободно его редактировать. Когда вы убедитесь, что вся работа в ветке завершена, вы можете выбрать слияние этой ветки обратно в исходный каталог trunk или оставить её в ветке.
Операция слияния — merge
Предположим, мы изменили или добавили файлы в ветке и хотим выполнить слияние обратно в каталог trunk. Способ очень прост. В приведённом выше примере щёлкните правой кнопкой мыши по пустой области в D:\example01\trunk и выберите Merge:

Этот экран в основном разделён на три части. Поля "Из:" и "В:" позволяют указать, из какой и в какую ревизию в ветке выполнять слияние обратно в исходный каталог ствола. Поэтому URL-поля Из и В должны оба указывать на исходный каталог ветки. Остальное — это указание диапазона ревизий для слияния. В приведённом выше примере мы выполняем слияние с ревизии 7 ветки до последней версии в ветке. Вы можете нажать кнопку "Пробный запуск", чтобы протестировать слияние. Это слияние только показывает некоторые сообщения и фактически не обновляет каталог ствола. Только после нажатия кнопки "Слияние" файлы ветки и файлы ствола будут фактически объединены.

Если вы подтвердите, что это слияние нормально, вы можете сразу использовать commit, чтобы зафиксировать два изменённых файла обратно в репозиторий SVN. Если есть проблемы, вы можете напрямую изменить эти два файла, пока не убедитесь, что они в порядке, а затем зафиксировать.
Создание метки или релиза
Так называемая метка или релиз — это особая версия, потому что эта версия может иметь особое значение. Например: эта версия — особая веха или версия, выпущенная для клиентов. Фактически процесс создания метки и релиза точно такой же, как и для ветки. Единственное отличие в том, что ветку может потребоваться слить обратно в исходный ствол, тогда как большинство меток и релизов не нужно сливать обратно в ствол.
Например, сегодня наш trunk создал версию, и эта версия была признана версией 1.0 программного обеспечения. Версия 1.0 — очень важная веха в разработке. Поэтому нам нужно сделать для нее специальную отметку, а именно Tag. Предположим, эту версию 1.0 нужно официально выпустить для клиентов или связанных поставщиков; нам нужно иметь возможность создать для нее Release-тег. По сути, в SVN есть только понятие каталогов, и нет специального использования тегов. Поэтому вы увидите, что в меню SVN Branch и Tag — один и тот же пункт. Взяв этот пример с версией 1.0, мы создаем каталог tags в каталоге example01 для хранения помеченной версии и фиксируем его в репозитории. Затем щелкните правой кнопкой мыши по Trunk и выберите пункт Branch/Tag:


В случае успеха вы создадите каталог v1.0 в соответствующем каталоге Tag. Конечно, если вы перейдете в каталог Tag в это время, вы не увидите этот каталог; вам нужно выполнить update в каталоге Tag, чтобы увидеть его.
