Установить приложение в Windows:
Найдите svn-репозиторий URL
и скопируйте его
Примерно так:
Вызов диалогового окна TortoiseGit Clone
Щелкните правой кнопкой мыши по папке назначения, например, D:\SVN\ToGit
и нажмите Git Clone...
Установите флажок From SVN repository
Если вы сначала скопировали URL-адрес, а затем вызвали диалоговое окно клонирования, TortoiseGit получит скопированный URL-адрес из буфера обмена и вставит его в текстовое поле URL-адреса. Таким образом, вы не вставляете это самостоятельно. Просто посмотрите на это, чтобы убедиться, что это правильно.
И если вы щелкнете правой кнопкой мыши по папке назначения, TortoiseGit также заполнит текстовое поле Directory
для вас. Также посмотрите, хотите ли вы этого.
Итак, просто установите флажок From SVN repository
.
И если хранилище SVN имеет стандартную компоновку, скажем, trunk, tags, branch, , вам не нужно ничего делать дальше.
Нажмите кнопку OK, чтобы перейти
Затем, начиная клонировать svn-репозиторий в git-репозиторий.
Примерно так:
Как видите, TortoiseGit просто правильно использует команду Git for Windows git svn clone
для клонирования.
git.exe svn clone "svn://svn.code.sf.net/p/tortoisesvn/code/" "D:\SVN\ToGit\tsvn" -T trunk -b branches -t
Таким образом, вы можете пойти Git Bash / CMD и повторно использовать эту командную строку, а также получить тот же результат.
ПРИМЕЧАНИЕ: Если вы видите r1
, r2
, r3
..., вы можете в любой момент остановить клонирование и возобновить его позже, используя ту же командную строку.
Клонировать локальный svn-репозиторий
С TortoiseGit 2.4.4 +
Просто скопируйте локальный путь svn в URL диалога Clone. См:
Снова Установите флажок From SVN repository
Клонирование:
TortoiseGit 2.4.4 + будет использовать file:///
протокол для клонирования локального хранилища SVN.
После того, как вы получите git-репозиторий, вы можете сделать коммит там. И отправьте коммит обратно в исходный svn-репозиторий, используя TortoiseGit ->
SVN DCommit...
, что-то вроде svn commit
.
Как видите, команда git svn dcommit
.
И если в исходном svn-репозитории есть какие-то новые коммиты, которые необходимо обновить, вы можете использовать TortoiseGit ->
SVN Rebase
, чтобы извлечь коммит svn, а затем объединить / перебазировать последний коммит. Что-то вроде svn update
.
Он использует git svn fetch
, затем использует git rebase
, чтобы объединить / перебазировать извлеченные изменения.
Для командной строки вы можете просто использовать git svn rebase
.
Прочтите Pro Git v2 - Глава 9 для получения дополнительной информации и примеров.