gpt4 book ai didi

git - 使用 Git 在本地与主存储库中保留文件的不同版本

转载 作者:太空狗 更新时间:2023-10-29 12:59:22 26 4
gpt4 key购买 nike

我有一个 PHP 配置文件,我想在本地操作但在 git commits 期间忽略这些更改。到我的主存储库。我有一个 .gitignore以前忽略此 PHP 文件的文件,但坏事发生了,现在 config.php文件不再被忽略,我不记得如何重新忽略它。

我知道 SO 上的人说要使用 git rm --cached <filename> 但我一辈子都想不出如何不做 git rm...继续删除我的 config.php 文件。

我想知道是否有人可以列出如何忽略我的 config.php,以便我可以继续在本地编辑它,但这些更改不会添加到存储库中。

这是我的 .gitignore 的全部内容:

application/config.php

这是我的 config.php 中的一些 PHP 代码我想保留在本地并且进入我的主存储库:

$config['base_url'] = "http://localhost/";
//$config['base_url'] = "http://mysite.com/"; // this is the code and NOT
// "http://localhost" that i'd like to keep in my repo

这就是删除我的文件的原因:

  1. git rm --cached application/config.php
  2. 更改 application/config.php文件和另一个文件(作为对照)
  3. git commit -m 'config.php shouldn't be changed'

    结果:2 files changed, 1 insertions(+), 370 deletions(-) (config.php 是 370 行长)

最佳答案

我解决了我自己的问题。我实际上需要这个:

git update-index --assume-unchanged <filename>

假设在我的问题中指定了 .gitignore 和 config.php 文件,这是完整的工作流程:

  1. git update-index --assume-unchanged application/config.php
  2. git add -A
  3. git commit -m 'now config.php will be ignored'
  4. git push origin master

现在http://localhost将保留在我本地的 repo 和 http://my-site.com 的 config.php 中将保存在我的主仓库的 config.php 中。

关于git - 使用 Git 在本地与主存储库中保留文件的不同版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273904/

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