如何将Git存储库用作一场爆发的战争



我处于以下情况。。。

我习惯于将Subversion服务器子项目作为一场爆炸式的战争签入JBoss:在我的情况下,我调用一个目录Blah.war,将其放在C:\JBoss-6.1.0.Final\server\default\deploy\brah.war中,JBoss会立即将其选中。

我在使用Git时遇到了问题。我从中提取的SVN存储库如下所示:

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

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

有人知道怎么做吗?我一直听到关于DVCS的好消息,但如果我不能处理服务器开发用例,Git对我来说毫无用处。

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

  • 你可以把所有东西都放在SVN回购中,只签出你感兴趣的部分
  • 您应该签出git repo的所有

因此,理想情况下,服务和网络将是两个转发。


请注意,在jboss外部签出一个git-reo和一个符号链接可以工作,即使在支持符号链接(使用mklink)的Windows上也是如此。


最后,如果你不想要几个repo或symlink,你可以用git read-tree进行稀疏签出,正如Brian Coyner(briancoyner)在这篇博客文章"使用Git稀疏签出"中所描述的那样。

cd C:jboss-6.1.0.Finalserverdefaultdeploy
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

最新更新