小编Ced*_*uin的帖子

同一个svn存储库的不同git-svn克隆是否可以分享更改然后git svn dcommit?

我在网上看过很多"从svn转到git"和其他"git-svn工作流程"的文章,但我认为它们经常处理过于简单的情况.它们通常针对那些只想在本地使用git和hack的人,而不是使用git的全部功能,比如在多个开发人员之间使用git-svn克隆svn存储库时的pull,fetch,merge等,然后仍然希望能够随时将他们的更改推送到(官方)svn存储库,然后回到git工作并分享他们的东西等.

每当这些文章承认你不能做你在纯git中所做的一切时,后果和可能的搞砸都没有明确解释(或者也许只是我?).即使是git-svn手册页也提到了警告,但并没有真正广泛地提及.

基于我所读到的内容,我觉得当git-svn以特定方式使用时可能会出现问题,我将在下面介绍.有人可以告诉我,我是对的吗?

这是"通缉"的做事方式:

  1. 我们在svn存储库中有一个项目
  2. 开发人员一个git-svn-clone是svn repo.他开始在当地破解东西
  3. 开发人员B git-svn-clone与svn repo相同.他开始自己破解东西.
  4. 在做了一段时间后,可能添加开发者C/D/...,并让其他开发人员做"标准"svn提交到原始回购,git用户想要分享他们的代码并做各种git魔术.
  5. 这些git用户中的任何一个都希望能够将现在合并的更改推送到svn(dcommit?)

我的问题是:我在做梦吗?我前段时间读过一本git书,我认为,git-svn-clone可以创建git存储库,当然它们是svn repo的"镜像",但是不同开发人员以这种方式创建的git存储库会有所不同" ids"和提交将有不同的哈希.所以我的理解是那些git repos不会共享任何常见的git祖先,因此无法使用共享,合并等所需的所有git命令.这是真的,我们是否会面临这个工作流程的问题?

有时我读到这可以完成,至少使用一个"官方"裸git存储库,这将是唯一一个git-svn-cloned,并且所有git用户都必须从这个开始.然后你需要一个负责这个中央git仓库的人,并在将所有东西都提交给svn repo之前收集git devs之间的变化.这将是git用户"不知道"原始git repo来自svn的唯一方法,并允许他们使用所有git命令.唯一需要精通git和svn(并且了解git-svn警告)的人将是"合并经理"(或者他称之为的任何人).

我完全误解了git-svn警告吗?有没有更简单的方法呢?

svn git git-svn code-sharing

33
推荐指数
2
解决办法
5619
查看次数

标签 统计

code-sharing ×1

git ×1

git-svn ×1

svn ×1