git svn-我可以同时使用git和svn吗?git和svn之间不需要交互
我正在做一个开发项目 公司正在使用git svn-我可以同时使用git和svn吗?git和svn之间不需要交互,git,svn,Git,Svn,我正在做一个开发项目 公司正在使用SVN,因此对于主commit和checkout应通过SVN完成 但是,我不喜欢SVN,我是git用户。因为只有当我认为我的代码是好的时,我才会向公司承诺SVN,所以我想使用git作为我自己的历史记录保管器 我不需要使用git来做SVN的事情,反之亦然 我可以同时使用SVN和git来控制我的代码版本吗它们之间没有交互。您可以使用git svn clone将subversion存储库克隆到您的机器上。代码将作为git存储库提供。你可以在那里做你的工作,并根据你的意
SVN
,因此对于主commit
和checkout
应通过SVN
完成
但是,我不喜欢SVN
,我是git
用户。因为只有当我认为我的代码是好的时,我才会向公司承诺SVN
,所以我想使用git
作为我自己的历史记录保管器
我不需要使用git来做SVN
的事情,反之亦然
我可以同时使用SVN和git来控制我的代码版本吗它们之间没有交互。您可以使用
git svn clone
将subversion存储库克隆到您的机器上。代码将作为git存储库提供。你可以在那里做你的工作,并根据你的意愿进行本地提交。有一个命令行选项可以获得“浅层”签出,而不是通常有用的整个存储库。我忘了那是什么
任何时候,如果您想运行相当于svn update
,请执行git svn rebase
。这将获取上次同步后签入SVN的新提交,然后将更改重新定基到新提示上
准备好提交后,执行一个git svn dcommit
。这将一个接一个地将您的所有新提交发送到svn。您还可以将本地提交压缩为一个单独的提交,并通过首先执行本地重基,然后执行svn dcommit来发送它。这应该在初始分支上完成(通常是master
)
您正在从subversion签出,然后在git中本地工作,这一事实意味着它们之间存在“交互”,因此您的最后一条语句无效 只需忽略SVN的
.git
文件夹和git的.SVN
文件夹,就可以了。或者你是在问如何基本上一次推/拉两个方向?但为什么?git在另一方的svn存储库中工作得非常好,为什么不从中受益呢?当然有可能,而且对您的同事来说是公平的,而不是推动未完成的更改。然而,其中隐藏着一个巨大的危险:您往往很少向公司存储库作出承诺。这意味着与同事相比,你会产生更多的冲突。当使用subversion时,使用频繁的提交行为是有意义的。我不得不以最艰难的方式学习:-)这是最糟糕的版本控制实践!See和Jeff Atwood:“长时间工作的开发人员——我指的是超过一天的时间——没有检查任何源代码管理,他们正在为自己设置一些严重的集成难题。”对答案进行了编辑,应该作为评论发布。我已经还原了编辑并在这篇评论中逐字发布了添加内容——通常认为将所有更改作为一个修订提交是一种不好的做法(例如,请参见和)。对于浅层签出:git svn clone-s-r1002:HEADhttp://paul@svn.xxxxxx.com/repos/-T trunk-b branchs-T标签
其中“1002”必须替换为要保留的早期版本。