我正在修改一个存储在SVN仓库中的开源项目。由于我的更改可能需要一段时间才能完成,因此我使用git-svn桥将项目检查为Git repo。我无法访问项目的Subversion仓库,因此我无法将更改推回到它,但我想发布我的Git仓库(在GitHub上),以便其他人可以跟踪我的修改的开发。
要更新“git svn”repo,请使用git svn rebase
,顾名思义, rebases 在Subversion repo的新更改之上进行任何更改。当然,将你重新设置的任何分支机构推送到公共Git仓库并不是一个好主意,所以关于从SVN存储库克隆的repo,我有几个相关的问题:
git-svn rebase
)发布到公共仓库是否安全?git svn dcommit
)。如果您遵守此政策,是否可以将重新定位的主分支发布到公共仓库?答案 0 :(得分:1)
发布SVN分支是安全的,但前提是所有提交都使用git-svn dcommit
推送到SVN仓库。如果分支中没有变化,那么git-svn rebase
只会快进。{
如果某人从您发布的分支机构分支,那么他们知道它来自SVN仓库是很重要的。那是因为如果你试图接受他们的改变,将他们推入SVN回购的唯一方法就是基本上改变他们的改变。再次发布已提交的更改后,他们将不得不处理冲突的提交,因为哈希将不匹配。
在master
工作是安全的,但可能不实用。从上面开始,在运行git-svn dcommit
之前,您无法发布提交。因此,如果您有任何不想提交的工作,则需要在尝试发布最新的SVN提交之前将其移至单独的分支(即git-svn rebase; git push
)