本文介绍了同一个svn仓库的不同git-svn克隆能够共享变化,然后git svn dcommit?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网上阅读了很多从svn到git和其他git-svn工作流程文章,我仍然认为他们经常处理过于简单的情况。他们通常针对那些只想在本地使用git和hack的人,而不使用git的全部功能,比如在多个开发人员之间进行pull,fetch,merge等操作,他们都会使用git-svn克隆svn仓库,然后仍然希望能够随时将他们的变化推送到(官方)svn仓库,然后重新开始工作,分享他们的东西等。



只要这些文章承认你不可能在纯粹的混帐中做所有事情,结果和可能的混乱从未被清楚地解释过(或者也许只是我?)。甚至git-svn手册页都提到了警告,但并不是真正的广泛。



根据我读过的内容,我觉得git- svn以特定的方式使用,我将在下面介绍。有人可以告诉我我是否正确吗?



这是想要的做事方式:


  • 开发人员git-svn-clone是svn仓库。他开始在本地破解东西

  • 开发者B git-svn-clone与svn相同。他开始自己破解东西。

  • 在做了一段时间之后,可能会添加开发人员C / D / ...,并让其他开发人员执行标准svn提交原始的回购,git用户会想要分享他们的代码,并做各种git魔术。

  • 任何一个git用户都希望能够将现在合并的更改推送到svn(dcommit?)

  • 我的问题是:我在做梦吗?我前一段时间阅读过,在我认为的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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    08-13 12:38