在远程主机上有一个文件夹/config/samples/(它还包含子目录),其中包含示例配置文件;这些文件足以在实际环境中使用而无需任何更改。该应用程序位于同一存储库中,并且只能从/settings/目录中读取文件。
如何使master的每个克隆都会在本地将此文件夹重命名为所需的文件夹并保留这些文件的历史记录(因此,如果我在那里添加文件,它将被放置在git pull上的master上的正确文件夹中)?
符号链接和硬链接在文件系统上不可用。
提前致谢!
在远程主机上有一个文件夹/config/samples/(它还包含子目录),其中包含示例配置文件;这些文件足以在实际环境中使用而无需任何更改。该应用程序位于同一存储库中,并且只能从/settings/目录中读取文件。
如何使master的每个克隆都会在本地将此文件夹重命名为所需的文件夹并保留这些文件的历史记录(因此,如果我在那里添加文件,它将被放置在git pull上的master上的正确文件夹中)?
符号链接和硬链接在文件系统上不可用。
提前致谢!
我不确定我是否正确理解了您的问题,但 git 会看到重命名的文件。如果你执行
mv file_orig_name.ext file_new_name.ext
git rm file_orig_name.ext
git add file_new_name.ext
git commit -m "changed file name file_orig_name.ext to file_new_name.ext"
它们将显示为被重命名,而不是一个消失而另一个出现。
目前 git 中没有这样的功能。
因为这种功能必须利用你的操作系统的特性,比如符号链接,如果这些可用的话。在这种情况下,仍然需要运行一个设置过程,因此 Make 或 Rake 等工具可以帮助您创建所需的文件夹,并可能检查其中的更改。
最后,您可以考虑使用git 挂钩,以便在特定事件上调用您的脚本。post-checkout
, post-merge
, 或许post-commit
对此有用。