使用git进行本地工作,使用subversion进行远程工作

时间:2012-02-18 13:03:04

标签: git svn

我非常喜欢git但不幸的是只能提交到subversion存储库。

是否可以使用git本地使用所有权益并从subversion存储库提交/结帐?

4 个答案:

答案 0 :(得分:4)

git integrates nicely与subversion。

答案 1 :(得分:2)

您可能会发现this ProGit chapter特别有用。

  

Git的一个重要功能是与Subversion的双向桥接,称为git svn。此工具允许您使用Git作为Subversion服务器的有效客户端,因此您可以使用Git的所有本地功能,然后推送到Subversion服务器,就像在本地使用Subversion一样。

答案 2 :(得分:0)

这刚刚出现在Hackernews上:Working with git on a Subversion project

答案 3 :(得分:0)

扩展Three's answer

  

这刚刚出现在Hackernews:在Subversion项目上使用git

入门

使用git-svn(正式),您可以使用以下命令克隆SVN存储库

git-svn clone -s http://example.com/my_subversion_repo local_dir
  

-s表示我的Subversion存储库具有标准布局(trunk /,branchs /和tags /。)如果存储库没有标准布局,则可以将其保留。

这将跟踪除空目录以外的所有内容,因为git不会跟踪空目录,并且在此git存储库中不会忽略svn:ignore。要将这些文件添加到.gitignore文件中,请运行以下命令。

git-svn show-ignore > .gitignore 

然后,您可以像往常一样使用命令,例如,git checkout -b new_branch_name [old_branch_name]用于添加分支,git add <filename>用于添加文件,git checkout <filename>用于还原更改,git commit -a用于提交更改。使用git。

在提交回svn之前,您将需要使用git-svn rebase重新设置所有更改,然后将您的提交推回svn,您将使用git-svn dcommit(增量提交)。