有没有一些更简洁的方法让 Git 忽略我的一些更改并且从不提交它们?
.git 属性:
config_to_be_deviated.xml filter=qqq
.git/配置:
[filter "qqq"]
clean = "perl -ne 'print unless /git_please_dont_look_here/'"
smudge = (Q=$(mktemp) && cat > $Q && patch -s $Q < /tmp/pp && cat $Q && rm $Q)
补丁 /tmp/pp 在每一行中添加了我的更改,其中包含“git_please_dont_look_here”。
Git 在将文件放入存储库之前删除所有此类行,并在签出文件时读取我的更改;我可以继续添加和提交有用的更改config_to_be_deviated.xml
,但是 Git 将看不到补丁中的更改。
看来这种“过滤”方法最适合我。
Pros:
- 无需每次都使用自定义脚本或特殊命令。一次性设置。
- 历史记录或隐藏中没有额外的提交。清理差异和补丁。
- 犯错的风险很低。
- 相对容易做出微小的偏差(例如覆盖配置文件中的某些端口号),例如用于涂抹和清洁的简单 sed 脚本。
Cons:
- 每次 Git 读取或写入文件时都会运行过滤程序,这可能会很慢(尤其是在 Windows 中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)