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

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

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

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

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

5 ответов

Решение

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

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

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

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

git svn dcommit -n

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

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

git remote -v
Другие вопросы по тегам