Git 忽略文件更改,但只更改一次?



Git 有某种"忽略一次"功能吗?

我希望 git 这次只忽略对文件的更改,可能吗?

我有一个带有变量的跟踪文件,我想更改:

Debug: 'true'

太"假",

  • 我不希望在暂存文件时显示文件,所以我可以执行"全部暂存"。
  • 我也不想将文件添加到 .gitignore 中,因为该文件包含其他更改且应跟踪的变量。
  • 我不想推动调试:"false",因为这只会让其他人遇到相反的问题,想要在没有跟踪的情况下进行调试:"true"。

这可能吗?

我知道:

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

但是,如果我理解正确,它将继续不跟踪更改,直到我使用 --no-as假设-unchanged 标志开始跟踪。

我可以先使用 --假设-不变然后进行更改,然后使用 --no-假设-不变来绕过跟踪吗?

不,你不能这样做 - 一旦你--no-assume-unchanged,Git 就会检测到你的更改并尝试提交它,除非你有意识地避免它,从不使用commit --auto,并且add --patch每当你想要提交的配置文件中有更改时。换句话说,您只能自动忽略文件,不能忽略文件中的特定更改。

您可以执行以下顺序:

git update-index --no-assume-unchanged <file>
git add --patch <file>
# pick and choose what you want for yourself only
git commit
git update-index --assume-unchanged <file>

每次你改变一些东西,但是...如果有人忘记了怎么办?

解决此问题的典型方法是拥有一个未提交的配置文件(添加到.gitignore(,并附有配置文件的已提交示例(通常命名为*.sample*.example*.skeleton或类似(。这样,更改永远不会传播到您的协作者。当您更改配置文件的结构时,请确保也更改示例,以便其他人可以效仿。每个协作者都需要复制示例以创建真正的配置文件,然后他们可以针对其环境自定义该文件。

相关内容

  • 没有找到相关文章

最新更新