6

我处于以下情况...

我习惯于将 Subversion 服务器子项目签出到 JBoss 中作为一场爆炸战争:在我的情况下,我调用一个目录 Blah.war,将它放在 C:\jboss-6.1.0.Final\server\default\ deploy\Blah.war,然后 JBoss 将其拾取。

我在使用 Git 时遇到了麻烦。我从中提取的 SVN 存储库布局如下:

.../Project/trunk/Services
.../Project/trunk/Web

如果我将整个项目签入 deploy/ 文件夹,顶部不会有 .war 目录。显然,我无法将 make trunk/ 签出到我的 deploy/ 目录中。我曾想过使用某种符号链接,但在 Windows 中看不到它的工作原理。

有谁知道如何做到这一点?我一直听到关于 DVCS 的好消息,但如果我无法处理服务器开发用例,Git 对我来说毫无用处。

4

1 回答 1

9

这很好地说明了 SVN repo 和 git repo 之间的粒度差异:

  • 您可以将所有内容放在 SVN 存储库中,然后只签出您感兴趣的部分。
  • 你应该检查所有的 git repo

因此,理想情况下,服务和网络将是两个存储库。


请注意,在 jboss之外签出一个 git repo ,并且符号链接可以工作,即使在支持符号链接(带mklink)的 Windows 上也是如此。


最后,如果您不想要多个 repos 或符号链接,您可以使用sparse checkoutgit read-treeBrian Coyner ( )的这篇博文“使用 Git Sparse Checkout ”中 所述。briancoyner

cd C:\jboss-6.1.0.Final\server\default\deploy\
git init Blah.war
cd Blah.war
git config core.sparsecheckout true
echo Web >> .git/info/sparse-checkout
git remote add -f origin /url/to/your/repo.git
git pull origin master
于 2013-12-18T19:13:55.963 回答