37

我正在做一个开发项目。

公司正在使用SVN,所以对于 main commitcheckout应该通过SVN.

但是,我不喜欢SVN并且是git用户。因为只有当我认为我的代码很好时,我才会向公司承诺SVN,所以我想将其git用作我自己的历史记录器。

我不需要使用 git 来做事SVN,反之亦然。

我可以同时使用 SVN 和 git 对相同的代码进行版本控制吗?他们之间没有互动。

4

1 回答 1

41

您可以使用git svn clone <SVN repo URL>. 该代码将作为 git 存储库提供。你可以在那里做你的工作,并随心所欲地进行本地提交。有一个命令行选项可以获得“浅层”签出而不是整个存储库,这通常很有用。我忘记是什么了。

任何时候,你想运行相当于svn update, 做一个git svn rebase. 这将获取您上次同步后签入 SVN 的新提交,然后将您的更改重新定位到新提示。

当您准备好提交时,请执行git svn dcommit. 这会将您所有的新提交一一发送到 svn。您还可以将本地提交压缩为一个,然后通过先执行本地变基然后执行 svn dcommit 来发送。这应该在初始分支上完成(通常master)。

您从 subversion 签出然后在 git 本地工作这一事实意味着它们之间存在“交互”,因此您的最后一条语句无效。

于 2012-10-05T08:27:41.343 回答