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

th3*_*ler 2 git gitignore

我正在使用git来管理扩展的CodeIgniter框架.它是当前CI版本的克隆版,其中包含额外的帮助程序,库等.

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

我希望实现以下工作流程

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

多数民众赞成,但是:

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

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

我希望这是有道理的.

jig*_*fox 5

  • 像config.php和database.php这样的文件永远不应该提交回远程仓库,因为它们对每个站点都是唯一的.

将不应该在repo中的所有文件放入.gitignore文件中.这几乎不是任何vodoo,它只是一个应该被忽略的文件列表.

  • 但是我希望它们存在于远程仓库中,因此在第一个pull请求中,默认文件将下载到我的本地目录.

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

  • 此外,如果我从远程仓库执行另一次更新以更新框架,我不希望覆盖这些文件

完成第一步到步骤!