Как узнать, какая удаленная ветка svn является локальной веткой отслеживания git?

Я немного запутался в том, как фиксировать несколько веток svn из разных локальных веток git. В частности, хотя я прочитал много связанных вопросов по этой теме, есть одна конкретная вещь, которую, кажется, до сих пор никто не объяснил:

Если у меня уже есть несколько локальных веток, как я могу узнать, какую удаленную ветку svn они отслеживают (если есть)?

Из этот ответ кажется, что вы можете изменить ветку, которую хотите отслеживать, но как ее запросить?

git branch -v, похоже, не особенно полезен в этом (т.е. не дается никакой дополнительной информации). Я также просмотрел все текстовые файлы в .git/, но там тоже ничего не нашел.


person UncleZeiv    schedule 09.02.2011    source источник


Ответы (5)


git svn info дает вам полный URL-адрес репозитория, поэтому там должна появиться ветка SVN.

person Damien Pollet    schedule 09.02.2011
comment
Да, это кажется важным шагом в правильном направлении; это первая команда, которая явно указывает, на какую ветку вы собираетесь воздействовать с помощью dcommit в основном. Если никто не найдет команду, которая показывает эту информацию все сразу для всех локальных веток, я, вероятно, приму этот ответ. - person UncleZeiv; 09.02.2011

Не уверен, но может что-то подобное в .git / config вам поможет?

[svn-remote "some-project"]
        url = http://example.org/svn
        fetch = trunk:refs/remotes/trunk
        branches = branches/{branch1,branch2}:refs/remotes/branches/*
        branches = branches/branch3:refs/remotes/branches/otherbranch3
        ....
person seriyPS    schedule 09.02.2011
comment
Спасибо, но нет. У меня есть общая строка branches = branches/*:refs/remotes/branches/*, и не упоминается ни одна локальная ветвь git, не говоря уже о том, каковы отношения между локальными ветвями и удаленными ветвями svn. - person UncleZeiv; 09.02.2011

Это не совсем то, что вы просили, но вы можете получить основную информацию, используя git remote show $REMOTE_NAME, где REMOTE_NAME - имя пульта для вашего репозитория svn. Это должно показать ТОННА информации о том, что и куда идет.

person Hank Gay    schedule 09.02.2011
comment
Я не уверен, откуда мне взять $REMOTE_NAME ... это имя раздела [svn-remote] в .git/config? - person UncleZeiv; 09.02.2011
comment
@UncleZeiv Я могу представить (сейчас я не на git-svn). Что вы видите, когда запускаете git remote? - person Hank Gay; 09.02.2011

На данный момент я использую

git svn dcommit -n

Я также хотел бы видеть это с такими командами, как «git branch -av» или «git remote -v», а также с потенциально дополнительным флагом.

person ptitpion    schedule 30.05.2017

Вы можете попробовать:

git remote -v
person karlphillip    schedule 09.02.2011
comment
это бесполезно, если удаленным сервером является svn вместо git. - person apadana; 23.12.2015