Instructions on using TortoiseGit to interact with

2019-03-09 00:09发布

I've been using TortoiseSVN on Windows for years with local filesystem repositories for my own projects. I'm planning to start collaborating with a friend on one of the projects, and will be shifting the repository to my own website. I've read a lot of "git beats SVN!" posts over the last couple years, and figured I ought to at least see what the fuss was about. Some research turned up the "git svn" command, and that TortoiseGit claims to have some level of git-svn support. I like the idea of keeping the SVN repository, and doing some local commits or branches with git before committing them to the repository. The "shelve" command also sounds useful.

Unfortunately, while there's a number of CLI git-svn tutorials, there's nothing for TortoiseGit (which admittedly seems to be still in early development). As a result, I'm having problems trying to figure out what workflow I need to get these pieces to cooperate.

I have an SVN repository in D:\Projects\repositories\MyProject. I created D:\Projects\temp\gittest, and tried to do a TortoiseGit "Git Clone" of the repository. From there, I've had issues trying to indicate the location of the trunk/branches/tags folders (which are just the standard layout in my repository). I was only able to get useful results when I left those unchecked. When I did seem to get the git repository started correctly, I was able to make some changes and do a couple git commits, but then had problems doing an SVN DCommit.

So, I'm hoping someone out there can provide a reasonably detailed set of instructions on how to correctly use TortoiseGit with an existing SVN repository (with the repository on either the local filesystem or on a remote server). No "don't use SVN!" responses, please - I'm interested in learning how to get these two pieces to work together. If you feel TortoiseGit's SVN support isn't mature enough to make this work, that would also be useful information.

Thanks!

8条回答
贪生不怕死
2楼-- · 2019-03-09 00:19

May be you can put your projects to github which supports an svn access. So you can continue to use TortoiseSVN and collaborate with others. On the other hand you can use things like sourceforge etc. to collaborate via SVN instead of git. BTW why not using git svn clone URLOfTheSVNRepos and later do git commits instead.

查看更多
够拽才男人
3楼-- · 2019-03-09 00:23
  1. Create a directory
  2. right click, "Git Clone..."
  3. Enable"From SVN Repository" and select all further settings
查看更多
Emotional °昔
4楼-- · 2019-03-09 00:23

Update: I stand by my answer to the question as written ("I'm planning to start collaborating with a friend..."), but if you do want/need to keep Subversion I rather liked my git-svn workflow.

The only reason git-svn exists is to allow the use of Git alongside an existing Subversion infrastructure. Since you essentially have no infrastructure, there is absolutely no reason not to just switch to Git completely. git-svn is better than svn, but should be avoided if at all possible.

I would strongly urge you to git svn clone -s --no-metadata <path_to_svn> then forget you ever had svn.

查看更多
来,给爷笑一个
5楼-- · 2019-03-09 00:27

Just for the record: SourceTree for Windows is planing on supporting git-svn (and hgsubversion) from version 1.4 onwards. The corresponding issue is SRCTREEWIN-119.

查看更多
做个烂人
6楼-- · 2019-03-09 00:28

This is probably obvious now, but tortoisegit now has built-in support for git-svn.

查看更多
smile是对你的礼貌
7楼-- · 2019-03-09 00:36

It has been noted before - just putting it here as a proper answer :)

TortoiseGit now has baked-in support for SVN, so it should work fine.

查看更多
登录 后发表回答