可以在git中链接目录吗?

可以在git中链接目录吗?,git,version-control,cross-platform,Git,Version Control,Cross Platform,我将从一个简单的例子开始描述我的意图 我有一个存储库my-rep.git,包含两个目录,src和deploy。在src中,我有我的源代码(NodeJS代码,但这并不重要),在deploy中,我希望保留我的deploy配置。 例如,如果我有一个项目,projectA,那么结构应该如下所示 my-rep.git/src/projectA my-rep.git/deploy/projectA/dotcloud.yml my-rep.git/deploy/projectA/src 现在回答我的问题。我

我将从一个简单的例子开始描述我的意图

我有一个存储库
my-rep.git
,包含两个目录,
src
和deploy。在
src
中,我有我的源代码(NodeJS代码,但这并不重要),在deploy中,我希望保留我的deploy配置。 例如,如果我有一个项目,
projectA
,那么结构应该如下所示

my-rep.git/src/projectA
my-rep.git/deploy/projectA/dotcloud.yml
my-rep.git/deploy/projectA/src
现在回答我的问题。我希望
projectA
中的源代码可以在dotcloud的deploy目录中找到。有没有办法让
my-rep.git/deploy/projectA/src
指向
my-rep.git/src/projectA
,也就是说,当我执行git拉入部署时,它会自动拉入
my-rep.git/deploy/projectA/src


它必须在git中得到支持,因为我的团队中的一些开发人员在Windows中工作,所以符号linux链接无法工作。

不要重复这种结构。改用部署脚本。如果在源代码中包含配置,则将其抽象,使其在任何地方都不起作用。然后,在签出文件时,依赖随环境变化的涂抹/清除脚本来更改文件,反之亦然。

/src/
之间的关系是什么?您是否需要两者,或者源代码是否只存在于后者中?好的,现在我们正在为相同的代码库尝试不同的云托管服务,因此最终我们将有deploy/dotcloud、deploy/heroku、deploy/whatever,因此在这些情况下,它们都应该引用相同的代码库,即src->projectA。如果开发人员可以访问这些目录中的任何一个,并运行每个云主机提供的部署脚本,那就太好了。问题是,在我的团队中,我们在不同的环境、Windows和Mac OS中工作,我不希望在不同的平台上使用脚本。我的所有团队成员只要使用heroku或dotcloud部署脚本就足够了,不需要额外的脚本或依赖项。也许我的愿景是不可能的,时间会告诉我:)脚本可以在任何一个平台上运行。MSysGit可以很好地执行bash脚本。我相信它们在Mac上也能正常工作。我会看看的。现在,虽然我觉得我试图使用git是错误的。我可能应该考虑每个git repo有一个项目,或者使用子模块来代替。这很好,bash是在所有3个平台上运行的好方法。