我正在使用 git 来管理扩展的 CodeIgniter 框架。它是当前 CI 版本的克隆,带有额外的帮助程序、库等。
我有许多网站都使用此框架,如果我添加新的帮助程序方法或修复一个网站中的错误,我希望能够轻松更新所有其他网站,而无需覆盖其任何自定义文件。
我希望实现以下工作流程
- 创建一个新的站点目录
git init
初始化一个空白的本地 git 存储库
- 将其与远程框架存储库链接
git remote add origin [email protected] /cdn-cgi/l/email-protection:username/framework_repo
- 拉取远程框架的新副本
git pull origin master
- 对站点文件进行更改并将其提交回远程存储库
git push origin master
- 将这些更改拉到其他站点
- 重复步骤 4 和 5
一切都很好,但是:
- 像 config.php 和 database.php 这样的文件永远不应该提交回远程存储库,因为它们对于每个站点都是唯一的。
- 但是我希望它们存在于远程存储库中,因此在第一个拉取请求时,默认文件会下载到我的本地目录。
- 此外,如果我从远程存储库再次拉取以更新框架,我不希望这些文件被覆盖
实现这一目标的最佳方法是什么?一些 .gitignore 巫毒?
我已经使用 .gitignore 来忽略文件,但在这种情况下,它略有不同,因为我只想在第一个请求时提取文件。
我希望这是有道理的。
- 像 config.php 和 database.php 这样的文件永远不应该被提交
按原样返回远程仓库
每个站点都是独一无二的。
将所有不应该在存储库中的文件放入.gitignore
文件。这几乎不是任何巫术,它只是一个应该被忽略的文件列表。
- 但是我希望它们存在于远程仓库中,所以在第一次拉取时
请求默认文件是
下载到我的本地目录。
创建虚拟文件,例如config.default.php
并在第一次拉取后将它们复制到忽略的名称。
- 更进一步,如果我从远程仓库再次拉取以更新
我不希望这些文件
被覆盖
完成第一个步骤!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)