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

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

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

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

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

Ответы

Ответ 1

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

Ответ 2

Не уверен, но может ли быть что-то вроде этого в .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
        ....

Ответ 3

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

Ответ 4

Сейчас я использую

git svn dcommit -n

Я также хотел бы видеть его с командами типа "git branch -av" или "git remote -v" плюс потенциально некоторый дополнительный флаг.

Ответ 5

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

git remote -v