How do I make git-svn use a particular svn branch

2019-01-16 03:14发布

A word of warning: I'm a n00b to git in general. My team uses feature branches in svn, and I'd like to use git-svn to track my work on a particular feature branch. I've been (roughly) following Andy Delcambre's post to set up my local git repo, but those instructions seem to have led git to pick the svn branch that had changed most recently as the remote repository; the problem is that's not the branch I care about. How do I control which branch git-svn uses? Or am I approaching this completely wrong?

UPDATE: I did use the -T, -b, and -t options (in my case because the svn repo has multiple projects, but I want the git repo to contain only the project I'm working on).

4条回答
Fickle 薄情
2楼-- · 2019-01-16 03:17

You might also have a look at this: git-svn is a gateway drug - robby on rails.

I used something like this when I needed to make sure that my local branch was pointing to the correct remote svn branch:

git branch -r

to get the name of the remote branch I want to be tracking. Then

git reset --hard remotes/svn-branch-name

to explicitly change my local branch to point to a different remote branch.

查看更多
该账号已被封号
3楼-- · 2019-01-16 03:21

Muchas gracias to Bart's Blog for this handy reference for svn branches in git. Apparently all I needed was to specify a remote branch when creating the git branch, e.g.,

git checkout -b git-topic-branch-foo foo

where foo is the name of the remote branch.

查看更多
趁早两清
4楼-- · 2019-01-16 03:29

I use git-svn but I haven't used the features that interoperate with SVN branches. Having said that, I notice that the tutorial you were following didn't use the -T, -b, -t options to git svn init. These options tell git-svn what the upstream trunk/branches/tags directories are named, which might be important in your situation.

查看更多
闹够了就滚
5楼-- · 2019-01-16 03:36

I needed to run 'git svn fetch' first, since the branch I wanted to associate with had been created after my git client.

查看更多
登录 后发表回答