Я пометил в git-svn, и теперь мой мастер всегда фиксирует тег svn! - PullRequest
6 голосов
/ 11 мая 2011

У меня есть базовая настройка git-svn:

   [core]
           repositoryformatversion = 0
           filemode = false
           bare = false
           logallrefupdates = true
           symlinks = false
           ignorecase = true
           hideDotFiles = dotGitOnly
           autocrlf = true
   [svn-remote "svn"]
           url = https://svnserver:8443/svn/Project
           fetch = trunk:refs/remotes/trunk
           branches = branches/*:refs/remotes/*
           tags = tags/*:refs/remotes/tags/*

Я создал тег из транка (master в git), выдав следующее:

git svn tag -m "3.6.1" 3.6.1

Thisсоздал новый тег в SVN в /tags/3.6.1.Кроме того, я увидел новый /remotes/tags/3.6.1, перечисленный в моих удаленных ветвях.

В какой-то момент я извлек локальную ветку с пульта 3.6.1 и внес некоторые изменения.Затем я слил их в мастера (я думаю, что это было большой ошибкой).Так что мой мастер, похоже, думает, что у него есть какая-то история из тега 3.6.1.

Теперь каждый раз, когда я что-то передаю своему мастеру, затем dcommit, они переходят к тегу 3.6.1!1012 *

Есть ли простой способ, которым я могу снова все исправить?

Ответы [ 2 ]

0 голосов
/ 12 августа 2013

Я знаю, что это старый вопрос, но решил, что я все равно отправлю.Мне не повезло с использованием --set-upstream (или более позднего --set-upstream-to).Если у вас нет изменений в вашей локальной ветке, вы можете сделать что-то вроде

git checkout remotes/trunk
git checkout -B master

, которое воссоздаст ваш локальный мастер из удаленного / транкового каналаТот же рабочий процесс может быть применен к удаленным ветвям, которые вы хотите отслеживать локально.

Чтобы предотвратить возникновение проблемы, на которую вы ссылались, я нашел лучший способ слияния - использовать

git merge --no-ff local/feature_branch
0 голосов
/ 07 августа 2011

Прошло некоторое время с тех пор, как я использовал git svn, но попробуйте команду, подобную этой:

git branch --set-upstream svn/trunk

или

git branch --set-upstream refs/remotes/trunk

Если это не сработает, вы можете также опубликовать раздел [branch "master"] в вашем git config?

...