使用 Git 管理框架,忽略第一次拉取后对给定文件的更改

2024-01-03

我正在使用 git 来管理扩展的 CodeIgniter 框架。它是当前 CI 版本的克隆,带有额外的帮助程序、库等。

我有许多网站都使用此框架,如果我添加新的帮助程序方法或修复一个网站中的错误,我希望能够轻松更新所有其他网站,而无需覆盖其任何自定义文件。

我希望实现以下工作流程

  1. 创建一个新的站点目录git init初始化一个空白的本地 git 存储库
  2. 将其与远程框架存储库链接git remote add origin [email protected] /cdn-cgi/l/email-protection:username/framework_repo
  3. 拉取远程框架的新副本git pull origin master
  4. 对站点文件进行更改并将其提交回远程存储库git push origin master
  5. 将这些更改拉到其他站点
  6. 重复步骤 4 和 5

一切都很好,但是:

  • 像 config.php 和 database.php 这样的文件永远不应该提交回远程存储库,因为它们对于每个站点都是唯一的。
  • 但是我希望它们存在于远程存储库中,因此在第一个拉取请求时,默认文件会下载到我的本地目录。
  • 此外,如果我从远程存储库再次拉取以更新框架,我不希望这些文件被覆盖

实现这一目标的最佳方法是什么?一些 .gitignore 巫毒? 我已经使用 .gitignore 来忽略文件,但在这种情况下,它略有不同,因为我只想在第一个请求时提取文件。

我希望这是有道理的。


  • 像 config.php 和 database.php 这样的文件永远不应该被提交 按原样返回远程仓库 每个站点都是独一无二的。

将所有不应该在存储库中的文件放入.gitignore文件。这几乎不是任何巫术,它只是一个应该被忽略的文件列表。

  • 但是我希望它们存在于远程仓库中,所以在第一次拉取时 请求默认文件是 下载到我的本地目录。

创建虚拟文件,例如config.default.php并在第一次拉取后将它们复制到忽略的名称。

  • 更进一步,如果我从远程仓库再次拉取以更新 我不希望这些文件 被覆盖

完成第一个步骤!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Git 管理框架,忽略第一次拉取后对给定文件的更改 的相关文章

随机推荐