将 git-svn 分支与 git 存储库同步
Synchronize git-svn branch with git repository
我们有一个使用 SVN 作为版本控制的客户端。我们必须使用他们的存储库,他们不想为我们创建分支,只想为他们部署的分支创建分支,所以我们不能创建小提交,只能在功能准备好部署时创建大提交。
我读过 git-svn,我认为它几乎是完美的解决方案。但是有没有办法将本地创建的分支与外部存储库同步?既可以备份也可以与其他人同步。
我的意思是,您有 SVN 存储库。使用 Git 克隆它并创建一个分支(在本地,不允许在 SVN 存储库中执行)。有没有办法使该分支指向任何新创建的存储库。就像从该分支创建的不同存储库一样。
我希望我能解释一下。这可能吗?
在你用类似这样的东西克隆了 subversion 存储库之后
git svn clone -s $SVN_URL proj-clone
你可以添加一个"real" git远程仓库:
cd proj-clone
git remote add team $GIT_URL
您必须选择与通常的 origin
不同的远程名称,因为 git svn
将使用与 git remote
相同的引用(例如 refs/remotes/origin/trunk
)进行跟踪。
之后您可以 pull/push 像往常一样连接到 git-远程。
如果 - 另一方面 - 你只想像这样跟踪 一个 分支:
git svn clone $SVN_URL/trunk proj-clone
然后 git svn
不使用命名空间 refs/remotes/origin/*
,而是 refs/remotes/git-svn
。在这种情况下,您可以使用通常的 origin
作为远程名称。
在任何情况下:您可以在 git svn clone
期间使用 --prefix=
参数修改它。 (参见docs)。
我们有一个使用 SVN 作为版本控制的客户端。我们必须使用他们的存储库,他们不想为我们创建分支,只想为他们部署的分支创建分支,所以我们不能创建小提交,只能在功能准备好部署时创建大提交。
我读过 git-svn,我认为它几乎是完美的解决方案。但是有没有办法将本地创建的分支与外部存储库同步?既可以备份也可以与其他人同步。
我的意思是,您有 SVN 存储库。使用 Git 克隆它并创建一个分支(在本地,不允许在 SVN 存储库中执行)。有没有办法使该分支指向任何新创建的存储库。就像从该分支创建的不同存储库一样。
我希望我能解释一下。这可能吗?
在你用类似这样的东西克隆了 subversion 存储库之后
git svn clone -s $SVN_URL proj-clone
你可以添加一个"real" git远程仓库:
cd proj-clone
git remote add team $GIT_URL
您必须选择与通常的 origin
不同的远程名称,因为 git svn
将使用与 git remote
相同的引用(例如 refs/remotes/origin/trunk
)进行跟踪。
之后您可以 pull/push 像往常一样连接到 git-远程。
如果 - 另一方面 - 你只想像这样跟踪 一个 分支:
git svn clone $SVN_URL/trunk proj-clone
然后 git svn
不使用命名空间 refs/remotes/origin/*
,而是 refs/remotes/git-svn
。在这种情况下,您可以使用通常的 origin
作为远程名称。
在任何情况下:您可以在 git svn clone
期间使用 --prefix=
参数修改它。 (参见docs)。