我们正在尝试使用 Git 作为存储库系统,而不是我们通常使用的 SVN。我们有一个 SVN 存储库是必需的。在 SVN 中,我们使用 svn propset 将该存储库链接为 svn:externals。这可以确保有一个特定的、广泛使用的全局副本。
现在我们有了 Git 存储库,我想以与 svn:externals 相同的方式将 SVN 存储库链接到它上面。我已经在某种程度上成功地做到了这一点。我是 Git 新手,请见谅。
在纯 Git 存储库中(我通过
我遇到的问题是,如果我现在在另一个地方克隆git仓库(再次使用
我已经搜索了这个问题,但所有相关的参考似乎都是在第一次使用svn仓库时出现问题,而我的问题是为另一个用户使其工作。
也许我的问题在于如何成功地将svn仓库添加/提交/推送到git仓库?即
注:改进以提供更多背景信息。
现在我们有了 Git 存储库,我想以与 svn:externals 相同的方式将 SVN 存储库链接到它上面。我已经在某种程度上成功地做到了这一点。我是 Git 新手,请见谅。
在纯 Git 存储库中(我通过
git clone gitmaster@address.org:mygitrepo
进行克隆),我使用了:git svn clone svn+ssh://svnowner@hostname.org/path/to/mysvnrepo mysvnrepo
要获取另一个 SVN 存储库的副本。这很好用,我可以通过在 mysvnrepo 目录中使用 git svn rebase
获取 SVN 存储库的新修订版本,并通过 git svn dcommit
提交更改。
要将其与主 Git 存储库合并,我使用了:
git add mysvnrepo
git commit mysvnrepo
git push
我遇到的问题是,如果我现在在另一个地方克隆git仓库(再次使用
git clone gitmaster@address.org:mygitrepo
),虽然我会得到包含所有文件的mysvnrepo目录,但我无法与SVN仓库进行交互。在进行git svn rebase后,我会收到错误消息:“无法从工作树历史记录确定上游SVN信息”。可能相关的是,当我在其他地方克隆它时(原始仓库中存储svn信息的位置),mysvnrepo目录中没有.git文件夹。我已经搜索了这个问题,但所有相关的参考似乎都是在第一次使用svn仓库时出现问题,而我的问题是为另一个用户使其工作。
也许我的问题在于如何成功地将svn仓库添加/提交/推送到git仓库?即
git add mysvnrepo; git commit mysvnrepot; git push
是否正确的做法?注:改进以提供更多背景信息。
git clone
还是从 SVN 检出或其他方式? - siegigit clone gitmaster@address.org:mygitrepo
克隆的其他用户的代码库,都是这样吗? - Evan O'Connor