Синхронизировать ветку git-svn с репозиторием git - PullRequest
0 голосов
/ 17 декабря 2018

У нас есть клиент с SVN в качестве контроля версий.Мы должны работать с их репозиторием, и они не хотят создавать для нас ветки, а только ветку, которую они разворачивают, поэтому мы не можем создавать маленькие коммиты, только большие, когда функция готова к развертыванию.

Я читал о git-svn и думаю, что это почти идеальное решение.Но есть ли способ синхронизации локально созданных веток с внешним хранилищем?И для резервного копирования, и для синхронизации с другими людьми.

Я имею в виду, у вас есть SVN-репозиторий.Клонируйте его с помощью Git и создайте ветку (локально, это не разрешено делать в репозитории SVN).Есть ли способ заставить эту ветку указывать на любой недавно созданный репозиторий.Как другой репозиторий, созданный из этой ветки.

Я надеюсь, что смогу это объяснить.Это возможно?

1 Ответ

0 голосов
/ 30 декабря 2018

После того, как вы клонировали хранилище Subversion с чем-то вроде этого

git svn clone -s $SVN_URL proj-clone

, вы можете добавить «настоящий» удаленный репозиторий git:

cd proj-clone
git remote add team $GIT_URL

Вы должны выбрать другой удаленныйname чем обычно origin, потому что git svn будет использовать те же ссылки (например, refs/remotes/origin/trunk) для отслеживания, что и git remote.

После этого вы можете как обычно тянуть / толкать на git-remote.


Если - с другой стороны - вы хотите отслеживать только одну ветку, например:

git svn clone $SVN_URL/trunk proj-clone

, тогда git svn не будет использовать пространство именrefs/remotes/origin/* но refs/remotes/git-svn.В этом случае вы можете использовать обычный origin в качестве удаленного имени.


В любом случае: вы можете изменить это, используя параметр --prefix= во время git svn clone.(См. документы ).

...