How to switch svn branches using git-svn?

2019-03-09 23:41发布

Duplicate

How do I make git-svn use a particular svn branch as the remote repository?

I am using git-svn to track development by someone else on svn. I'm trying to figure out how to use gti-svn to switch from one svn branch to another. All the examples I have able to find talk about using svn switch as method to switch location instead of actual branches.

Essentially, I would like to start pulling from /svn/branch/1.3 instead of /svn/branch/1.2 using svn fetch.

标签: svn git git-svn
3条回答
欢心
2楼-- · 2019-03-10 00:04

If you've cloned the SVN repository properly (using -T -b -t or -s), you should be able to use the git branch commands like:

git reset --hard remotes/branch

git checkout branch

etc.

查看更多
乱世女痞
3楼-- · 2019-03-10 00:17

These commands have been incredibly useful for me when working on svn branches via git-svn:

#create local Git branch that mirrors remote svn branch

git checkout -b local/RELEASE-0.12 RELEASE-0.12 
#will connect with a remote svn branch named ‘RELEASE-0.12′

# -n will show which svn branch you will commit into:
git svn dcommit --dry-run 

See full explanation in my article on justaddwater.dk.

查看更多
Melony?
4楼-- · 2019-03-10 00:21

From my experience, it works fine doing just

git checkout -b RELEASE-0.12 RELEASE-0.12

The local/ prefix is not needed, and it is less confusing to me to leave it out. The old RELEASE-0.12 branch is already a remote branch, so git will not confuse it with the new branch.

The command above will not create a tracking branch relationship. But that is not needed, git svn rebase works as expected anyway.

查看更多
登录 后发表回答