发布“git svn”回购

时间:2009-09-29 19:41:24

标签: git github git-svn

我正在修改一个存储在SVN仓库中的开源项目。由于我的更改可能需要一段时间才能完成,因此我使用git-svn桥将项目检查为Git repo。我无法访问项目的Subversion仓库,因此我无法将更改推回到它,但我想发布我的Git仓库(在GitHub上),以便其他人可以跟踪我的修改的开发。

要更新“git svn”repo,请使用git svn rebase,顾名思义, rebases 在Subversion repo的新更改之上进行任何更改。当然,将你重新设置的任何分支机构推送到公共Git仓库并不是一个好主意,所以关于从SVN存储库克隆的repo,我有几个相关的问题:

  1. 将重新分支的分支(使用git-svn rebase)发布到公共仓库是否安全?
  2. 我的理解是,假设您在Git中的主分支是您从SVN仓库重新定义更改的分支,那么您不应该在该回购中进行任何真正的开发;即,如果将更改合并到master中,则应将其推入SVN仓库(使用git svn dcommit)。如果您遵守此政策,是否可以将重新定位的主分支发布到公共仓库?

1 个答案:

答案 0 :(得分:1)

  1. 发布SVN分支是安全的,但前提是所有提交都使用git-svn dcommit推送到SVN仓库。如果分支中没有变化,那么git-svn rebase只会快进。{
    如果某人从您发布的分支机构分支,那么他们知道它来自SVN仓库是很重要的。那是因为如果你试图接受他们的改变,将他们推入SVN回购的唯一方法就是基本上改变他们的改变。再次发布已提交的更改后,他们将不得不处理冲突的提交,因为哈希将不匹配。

  2. master工作是安全的,但可能不实用。从上面开始,在运行git-svn dcommit之前,您无法发布提交。因此,如果您有任何不想提交的工作,则需要在尝试发布最新的SVN提交之前将其移至单独的分支(即git-svn rebase; git push