Обстоятельства требуют, чтобы я выполнил свою собственную работу над ретрансляцией git, в то время как «trunk» для проекта находится в репозитории svn, то есть я буду регулярно обновлять рабочую копию svn и объединять его изменения в свою рабочую копию git и наоборот. Есть ли простой способ сделать это в svn и git? В настоящее время я использую SmartGit и TortiseSVN в качестве клиентов.Слияние рабочей копии svn с рабочей копией git и наоборот?
ответ
Да, используйте git svn
. Обратитесь к man page за дополнительной информацией, но основная идея заключается в том, что вы клонируете репозиторий svn
с git svn clone
, а затем держите все в курсе git svn rebase
и git svn dcommit
.
Клонировать хранилище с помощью SmartGit/Hg. В зависимости от URL-адреса он сразу узнает, что это репозиторий SVN, или он попросит вас. В этом случае выберите SVN. Полученный клон подобен тому, что вы получите при использовании ГИТ-SVN, однако функциональность SmartGit является значительно более мощным:
http://www.syntevo.com/smartgithg/svn-tour.html
http://www.syntevo.com/smartgithg/documentation.html?page=concepts-svn
Спасибо. Я снова обманул их, хотя я их уже много раз встречал, но я все еще не понимаю, как это позволит мне делать то, о чем я говорю. Мне кажется, что использование SmartGit с SVN позволяет эмулировать некоторые функции Git с SVN-репозиторием, но я ничего не видел в документах, объясняющих, как использовать его с вашим репозиторием Git в одно и то же время (что это то, что я пытаюсь сделать). Можете ли вы сказать мне, где именно объясняется, как сделать что-то вроде push или pull из вашего репозитория Git после клонирования вашего репозитория SVN? – Ford
SmartGit/Hg предоставит вам полностью функциональный репозиторий Git. Вместо обычного «Git remote» у вас будет «SVN remote». Что касается пультов Git, вы можете нажать на/Pull с удаленного SVN. Также обратите внимание, что вам не понадобится другой репозиторий Git (как я понимаю, у вас есть). – mstrap
Любая идея, как я хотел бы сделать, что в SmartGit? Это дает мне возможность клонировать либо SVN, либо Git, а не git-svn, и я не вижу нигде, чтобы войти в мой git-репозиторий, когда я вытащил svn-репо или наоборот. Новый вопрос [здесь] (http://stackoverflow.com/questions/16127997/merging-an-svn-working-copy-into-a-git-working-copy-and-vise-versa/16128010?noredirect=1# 16128010). В случае, если этого не произойдет, мне все равно будет интересно узнать, как объединить рабочие копии. – Ford
Есть ли причина, по которой вы не можете использовать командную строку? Я думаю, что в худшем случае вы можете просто использовать 'git' с' SmartGit' и создать промежуточный репозиторий для обработки 'svn'. –