我不确定我是如何进入这种状态的,但我本地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 ...
我该如何解决这个问题?
答案 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