将git-svn主分支重新指向trunk

时间:2012-02-13 04:45:36

标签: git-svn

我不确定我是如何进入这种状态的,但我本地git-svn repo上的master分支似乎指向远程UAT分支。

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

认为您要修复的是您的本地“主”分支基于远程UAC分支,而不是远程主干。如果你很高兴丢失你的提交,你可以简单地运行下面的,这将检查主干,然后将主分支移动到你当前的点。

git checkout remotes/trunk
git checkout -B master

如果您不想丢失提交,git rebase是您的朋友。使用以下内容:

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

这可以解决UAC分支和本地主分支的公共父进程,将所有提交从主分支到主干分支,然后将主分支移动到那里。

答案 1 :(得分:0)

一种方法是重命名当前的主分支并将origin / trunk签出为(新)主分支。

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

如果你需要,你现在可以从uac分支到master(我会使用gitk --all来帮助我)樱桃-pp提交

一个更复杂的问题: Rename master branch for both local and remote Git repositories