2012-02-13 3 views
8

Я не уверен, как я попал в это состояние, но моя ветка master на моем локальном репозитории git-svn, кажется, указывает на удаленную ветвь UAT.Отключить git-svn master ветку обратно в магистраль

git status 
# On branch master nothing to commit (working directory clean) 
git svn dcommit Committing to https://svn...com/MyRepo/branches/UAT ... 

как исправить это?

+0

It «Помогите узнать, что именно вы пытаетесь« исправить ». Нет ничего плохого в том, что локальная ветвь хозяина будет основана на удаленной ветке; действительно, так я обычно управляю своим хранилищем. –

ответ

5

I , что вы пытаетесь исправить, заключается в том, что ваша локальная ветвь «master» основана на удаленной ветви UAC, в отличие от удаленной соединительной линии. Если вы счастливы потерять свои коммиты, вы можете просто запустить ниже, который будет проверять багажник, а затем переместить ведущую ветвь в текущую точку.

git checkout remotes/trunk 
git checkout -B master 

Если вы не хотите потерять свои коммиты, git rebase является вашим другом. Используйте ниже:

git rebase $(git merge-base remotes/UAC master) master --onto remotes/trunk 

Это работает общий родитель филиала ОАК и местного мастера отрасли, делает все коммиты оттуда до кончика мастер ветви на стволе, а затем перемещает мастер ветвь пункт там.

+0

Как-то я оказался в той же ситуации (слил неправильную ветвь в мастер?), И решение «checkout» исправило это для меня. Принял бы этот ответ, если бы мог. – abeger

0

Один из способов - переименовать текущую ведущую ветвь и проверить исходную/тубус как (новую) ведущую ветвь.

git branch -m master uat 
git checkout origin/trunk master 

Если вам нужно теперь вы можете вишневого рис коммиты из Uac ветви к мастеру (я хотел бы использовать gitk --all, чтобы помочь мне с этим)

немного более сложная задача: Rename master branch for both local and remote Git repositories