Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
出版一份;git svn“;回购_Git_Github_Git Svn - Fatal编程技术网

出版一份;git svn“;回购

出版一份;git svn“;回购,git,github,git-svn,Git,Github,Git Svn,我正在修改一个存储在SVN repo中的开源项目。由于我的更改可能需要一段时间才能完成,因此我使用Git svn桥将该项目作为Git回购进行了签出。我没有访问该项目的Subversion repo的权限,因此无法将更改推回到该项目,但我想发布我的Git repo(在GitHub上),以便其他人可以跟踪我修改的开发 要更新“git svn”repo,您可以使用git svn rebase,顾名思义,它在Subversion repo的新更改之上对任何更改进行重定。当然,将任何已重定基础的分支推送到

我正在修改一个存储在SVN repo中的开源项目。由于我的更改可能需要一段时间才能完成,因此我使用Git svn桥将该项目作为Git回购进行了签出。我没有访问该项目的Subversion repo的权限,因此无法将更改推回到该项目,但我想发布我的Git repo(在GitHub上),以便其他人可以跟踪我修改的开发

要更新“git svn”repo,您可以使用
git svn rebase
,顾名思义,它在Subversion repo的新更改之上对任何更改进行重定。当然,将任何已重定基础的分支推送到公共Git回购中不是一个好主意,因此关于从SVN存储库克隆的回购,我有几个相关问题:

  • 将重定基础的分支机构(使用git svn重定基础)发布到公共回购是否安全
  • 我的理解是,假设您在Git中的主分支是您从SVN回购中重新调整变更的分支,那么您不应该在该回购中进行任何真正的开发;i、 例如,如果您将更改合并到master中,您应该将它们推送到SVN repo中(使用
    git SVN dcommit
    )。如果您遵守此政策,是否可以将重定基础的主分支机构发布到公共回购
  • 发布SVN分支是安全的,但前提是使用
    git SVN dcommit
    将所有提交推送到SVN repo。如果分支中没有任何更改,那么
    git svn rebase
    将只执行快进操作。

    如果有人从您发布的分支机构分支,那么他们必须知道它来自SVN回购。这是因为,如果你试图接受他们的变化,将他们推入SVN回购的唯一方法就是重新调整他们的变化。再次发布提交的更改后,它们将必须处理冲突提交,因为哈希将不匹配

  • master
    中工作是安全的,但可能不实用。从上面看,只有运行
    git svn dcommit
    才能发布提交。因此,如果您有任何不想提交的工作,则需要在尝试发布最新的SVN提交之前将其移动到单独的分支(即,
    git SVN rebase;git push