git - 假设不变,但只等到下一次改变

标签 git

我如何告诉 git 忽略当前对文件 foobar 所做的修改,但不忽略任何 future 的修改?

我的工作树中有一个文件,我对它做了一个我不想提交的小改动。我可以使用 git update-index --assume-unchanged foobar,但是 git 会忽略对该文件所做的任何其他更改。

我想告诉 git 只忽略对 foobar当前修改,并在它以任何其他方式更改时警告我。

因此,考虑到 update-index --assume-unchanged 在这种情况下不适用,是否有另一种方法告诉 git 将 foobar 视为未更改只要它具有当前内容或当前 mtime

最佳答案

The file is shared between two computers; it is being changed by an older version of an application that deletes configuration keys created by the newer version and that it does not understand.

那么最好完全版本那个文件,而是版本:

  • 该文件的模板
  • 2 个值文件(每台计算机一个)
  • 能够生成最终文件(将保持私有(private))的脚本
  • 一个 .gitignore 声明一个 content filer driver ,一个 smudge 脚本,它会在 checkout 时自动触发脚本并生成正确的配置文件和正确的值,检测它在哪台计算机上运行。

smudge

(图片来自“Customizing Git Attributes”来自Git Book)

关于git - 假设不变,但只等到下一次改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26699627/

相关文章:

git - Xcode 4混帐: 'moving' local git project to our remote server

远程 Docker 容器内的 Github 访问(使用 2FA)

git - git 将 master merge 到当前分支的快捷方式

git - 具有多个网站的 git 结构

node.js - 在 elasticbeanstalk 中设置 NODE_ENV 变量

git - 如何在 JGit 中获取 "git log --follow <path>"? (检索包括重命名在内的完整历史记录)

linux - 如何从 ssh 配置中删除默认 ssh 主机?

过去版本的 Git grep

git - 在 Git 中,如何在不手动指定文件的情况下暂存刚刚差异化的文件?

git - git diff 的三点表示法工作得很奇怪