Using Git as a client of Subversion can raise some confusion due to the flexibility of Git as compared to the more rigid way Subversion organizes files. To be sure to maintain a Subversion-friendly way of work, I recommend that you follow some simple rules.
First of all, be sure your Git master
branch is related to the trunk
branch in Subversion; as we already said, Subversion users usually organize a repository in this way:
/trunk
folder, which is the main folder/branches
root folder, where you put all the branches, each one located in a separate subfolder (for example, /branches/feat-branch
)/tags
root folder, where you collect all the tags you made (for example, /tags/v1.0.0
)To adhere to this layout, you can use the --stdlayout
option when you're cloning a Subversion repository:
$ git svn clone <url> --stdlayout
In this manner, Git will hook the /trunk
Subversion branch to the Git master
branch, replicating all the /branches
and /tags
branches in your local Git repository and allowing you to work with them in a 1:1 synchronized context.