version-control - 将自定义构建配置文件保存在 git 存储库中

标签 version-control configuration-files msysgit

我在 git 存储库中有一个项目,该项目为构建环境等使用了一些自定义(到目前为止未版本化)设置脚本。我想将它们置于版本控制之下(希望是 git),但将它们与项目分开进行版本控制本身,虽然仍然生活在项目的基本目录中 - 我已经考虑过像本地分支这样的选项,但这些似乎有切换回 master 的问题(或任何其他“真实”分支)将丢弃设置脚本的工作副本。

我在 Windows 上使用 msysgit,所以我有一些工具可以使用;有人有建议或解决方案吗?

最佳答案

如果您确实需要将它们与您的主要 git 存储库分开,同时仍直接居住在其中,您可以尝试:

  • 使用其中的脚本创建一个新仓库

  • 和:
  • 将该新存储库作为子模块添加到您的存储库中。除了:
  • a/这些脚本不会直接存在于基本目录中,而是存在于代表子模块
  • 的子文件夹中
  • b/您当然需要不发布(推送)该新存储库,以便其他克隆您的主存储库无法获取这些设置文件

  • 或者:
  • 将该新存储库合并到您的主存储库中(使用 subtree project ),但是:
  • 您需要拆分项目以删除这些文件
  • 对于历史悠久且频繁推送的项目,该步骤(拆分)可能会很长且很麻烦。

  • 我会考虑一个更简单的解决方案,包括对您当前的设置文件进行一些改进:
  • 带有这些设置文件的私有(private)仓库(如“未推送”)
  • 带有主 git 存储库路径的环境变量,以便您的设置文件(不会直接位于所述主存储库的基本目录中)在正确的目录中完成它们的工作(例如以' cd right_main_git_repo_dir 开头')。
  • 关于version-control - 将自定义构建配置文件保存在 git 存储库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3380642/

    相关文章:

    svn - 如何构建包含多个库和应用程序的存储库

    git - 多个自定义项目和 Git 的最佳实践

    对用户隐藏的 C# 设置

    svn - 在Windows上对图形 Assets 进行版本控制的最佳方法是什么?

    svn - 何时以及为什么选择集中式(SVN)而不是分布式(Git、Mercurial)

    android - ionic 框架 - Config.xml

    c# - 在 .NET Standard 中使用配置文件不起作用

    Git 在没有任何参数的情况下启动 mergetool

    git - 拒绝用户访问 gitolite-admin

    windows - git pull 在 msysgit 客户端上不起作用?