当在普通的git仓库上工作时,本地分支通常会跟踪相应的远程上游分支。通过这种方式,我可以轻松地看到自己是在上游分支的前面还是后面,以及是否需要推动或拉动它们以使其同步。同样,我的提示会立即显示此状态,这非常方便。
现在,我正在使用git-svn
处理SVN存储库。我将--prefix=svn
用于克隆,因此git branch -r
将svn/trunk
列为远程分支,但是(尽管git svn rebase
正常工作,但没有将其配置为我的主分支的上游分支。)>
我尝试手动设置跟踪信息,但失败:
$ git branch -r svn/trunk $ git branch --set-upstream-to=svn/trunk fatal: Cannot setup tracking information; starting point 'svn/trunk' is not a branch.
有什么方法可以跟踪svn上游分支吗?
还有其他简便的方法可以知道我在该分支机构之前还是之后吗? (查看gitk --all
是目前我所知道的唯一方法。)
还有什么方法可以使我的提示(提示__git_ps1
)显示该信息?
$ git --version
git version 1.9.0.msysgit.0
当在普通的git仓库上工作时,本地分支通常会跟踪相应的远程上游分支。这样,我可以轻松地看到自己是在上游分支的前面还是后面,并且...
这似乎是git 1.9中引入的错误,因为--set-upstream-to
完全按照您提到的方式工作。[strace
显示上游分支ref的正确定位和读取,但是由于某些原因,它被忽略。
[git-svn
将配置数据存储在.git/config
中,例如,在我的一个仓库中,配置如下:
这对于使用git 1.9.5的我仍然是一个问题。
由于没有人回答: