问题描述
我在网上阅读了很多从svn到git和其他git-svn工作流程文章,我仍然认为他们经常处理过于简单的情况。他们通常针对那些只想在本地使用git和hack的人,而不使用git的全部功能,比如在多个开发人员之间进行pull,fetch,merge等操作,他们都会使用git-svn克隆svn仓库,然后仍然希望能够随时将他们的变化推送到(官方)svn仓库,然后重新开始工作,分享他们的东西等。
只要这些文章承认你不可能在纯粹的混帐中做所有事情,结果和可能的混乱从未被清楚地解释过(或者也许只是我?)。甚至git-svn手册页都提到了警告,但并不是真正的广泛。
根据我读过的内容,我觉得git- svn以特定的方式使用,我将在下面介绍。有人可以告诉我我是否正确吗?
这是想要的做事方式:
我的问题是:我在做梦吗?我前一段时间阅读过,在我认为的git书中,git-svn-clone可以创建git仓库,这当然是svn仓库的镜像,但不同开发人员创建的git仓库会有不同的 ID和提交会有不同的哈希值。所以我的理解是,那些git repos不会共享任何常见的git祖先,因此将无法使用所有需要共享,合并等的git命令。这是真的,我们会面临这个工作流程的问题吗?
有时候我读过这个可以做到,至少使用一个官方裸git仓库,是唯一一个被git-svn克隆的人,所有的git用户都必须从这个开始。然后你需要一个负责这个中心git回购的人,并收集git开发者之间的变化,然后把所有的东西交给svn回购。这将是git用户不知道原始git repo来自svn并让他们使用所有git命令的唯一方法。唯一需要在git和svn上流利的人(并且知道git-svn警告)将是合并经理(或者他所称的任何人)。
我完全误解git-svn警告?有没有更简单的方法来解决这个问题?
这个问题当然是第4步。 dcommit会尝试将本地历史记录重播到服务器。 Dcommit假装你是SVN客户端。现在,如果您要提交的代码不仅来自您,那很难拒绝SVN。
以下是在这件事上写道:
这篇关于同一个svn仓库的不同git-svn克隆能够共享变化,然后git svn dcommit?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!