git svn - 我可以同时使用git和svn吗?不需要git和svn之间的交互

Jac*_*ale 34 svn git

我正在做一个开发项目.

该公司使用SVN,所以对于主要commitcheckout应通过做SVN.

但是,我不喜欢SVN并且是git用户.因为只有当我认为我的代码是好的时候我会致力于公司SVN,我想git用于我自己的历史管理员.

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

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

Nou*_*him 39

您可以使用以下方法将subversion存储库克隆到您的计算机git svn clone <SVN repo URL>.该代码将作为git存储库提供.您可以在那里工作并根据需要进行本地提交.有一个命令行选项可以获得"浅"结帐,而不是整个存储库,这通常很有用.我忘了它是什么.

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

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

事实上你从subversion中检出然后在git中本地工作意味着它们之间存在"交互",所以你的最后一个语句是无效的.

  • 对答案进行了编辑,该编辑本应作为评论发布.我已经恢复了编辑并在此评论中逐字添加 - 通常认为将所有更改作为单个修订提交是一种不好的做法(例如,请参阅http://stackoverflow.com/questions/107264/how-often -to-commit-changes-to-source-control和http://www.codinghorror.com/blog/2008/08/check-in-early-check-in-often.html). (3认同)