Как определить, какая удаленная ветка 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" плюс потенциально дополнительный флаг.