gpt4 book ai didi

git - 使用 Git 管理框架,在第一次 pull 后忽略给定文件的更改

转载 作者:太空狗 更新时间:2023-10-29 14:28:42 24 4
gpt4 key购买 nike

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

我有很多站点都在使用这个框架,如果我在一个站点中添加一个新的辅助方法或修复一个错误,我希望能够轻松地更新所有其他站点而不覆盖它们的任何自定义文件。

我希望实现以下工作流程

  1. 创建一个新的站点目录git init来初始化一个空白的本地git repo
  2. 将其与远程框架 repo 链接 git remote add origin git@github.com:username/framework_repo
  3. pull 远程框架的新副本 git pull origin master
  4. 更改站点文件并将它们提交回远程仓库 git push origin master
  5. 将这些更改下放到其他站点
  6. 重复第 4 步和第 5 步

没关系,但是:

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

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

我希望这是有道理的。

最佳答案

  • Files like config.php and database.php should never be committed back to the remote repo as they are unique to each site.

将所有不应该在 repo 中的文件放到 .gitignore 文件中。这几乎不是什么巫毒教,它只是一个应该被忽略的文件列表。

  • However I want them to exist in the remote repo so on the first pull request the default files are downloaded to my local directory.

创建像 config.default.php 这样的虚拟文件,并在第一次 pull 后将它们复制到忽略的名称。

  • Further more if I do another pull from the remote repo to update the framework I do not want these files to be overwritten

完成第一步!

关于git - 使用 Git 管理框架,在第一次 pull 后忽略给定文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com