When I have to use svn, I use git-svn to talk to svn. I cloned the repo with the standard git svn clone -s line, and all the remote branches at the time were there.
Since then, a new branch has been created, but not by me. I want to checkout/track this branch locally. I can track a branch that I can see (with git branch -r) like so:
git checkout -t -b dev remotes/development
But this doesn't work with the other branch, since it doesn't show up in git branch -r
How can I track this missing branch?
Use git push -f to force update the remote branch, overwriting it using the local branch's changes.
DESCRIPTION. git svn is a simple conduit for changesets between Subversion and Git. It provides a bidirectional flow of changes between a Subversion and a Git repository. git svn can track a standard Subversion repository, following the common "trunk/branches/tags" layout, with the --stdlayout option.
After running the following commands, you'll be able to see the new branch on the git side:
$ git svn fetch $ git svn rebase
Make sure your branch is clean first.
git svn rebase
will rebase the current branch and all the branches that you have indicated should be automatically fetched in your local repository configuration.
git svn fetch
will fetch all the branches from the SVN repository as described when you originally did the git svn clone (including new ones). This is in contrast to the behaviour of
git fetch
which only fetches the branches you've specified, as with the git svn rebase.
This difference is primarily because git can't "see" the SVN remotes branches until they've been pulled into the local repository vs when you clone a git repository and git branch -a shows all the remote branches (even those that aren't tracked/won't be updated with a fetch).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With