2

我很快将把我的应用程序部分从使用svn支持的存储库转换为使用git一个。

我以前用过git-svn,但整个团队都被转移到了git,我被要求成为这一举动的先锋。虽然我很高兴我了解如何完成大部分动作,但有一个方面我还没有解决。

我的配置存储库的一个目录一直用于跟踪独立 Windows 机器上外部应用程序的脚本目录。该应用程序的脚本目录位于应用程序安装目录中,因此svn我在适当的位置检查了该目录。

我希望我能够继续使用这种结构,但我的研究表明,狭窄的克隆git需要你保持相同的相对结构,这在我的情况下会很困难。

明确地说,我想映射 to 的myrepo:config/scripts内容C:\application\scripts

据我所知,我有几个选择:

1. 为这些脚本文件使用单独的存储库。

这可能是首选,因为它允许我将 repo 克隆到正确的位置。

不幸的是,目前没有允许将配置数据(这些脚本就是这些脚本)存储在配置目录下以外的任何地方的结构。因此,这将需要对我们的存储库进行一些重组,而不是直接转换svngit我们希望的。

2. 使用连接点。

我可以将目录的git工作副本放在config其他地方C:\,然后使用连接点使目录显示为应用程序目录的子目录,就像Ger4ish 建议在 unix 上使用符号链接一样。

不幸的是,我没有对该机器的管理员访问权限,所以这并不像最初看起来那么简单。

其他选择?

我想知道是否有我错过的选项。

查看Git 1.7.0 中稀疏结帐问题的答案?我可以得到一些方法,但是保持结构相同的要求以及检查到特定位置的需要意味着这种方法不起作用。

4

1 回答 1

1

你看过子模块吗?您可以为您的配置脚本创建一个单独的 git 存储库,并将其作为子模块添加到您的主存储库。这将允许您直接在其中进行检出,application/scripts但仍将配置目录保留在主存储库下。

子模块与主存储库的关系存在一些细微差别,因此您希望任何提交到脚本目录的人都了解此工作流程。

于 2011-09-07T12:03:15.753 回答