原标题:如何让 git 忽略我的文件而不管分支?
我有以下按预期工作的结帐后文件:
#!/usr/bin/ruby
cmd = ENV["HOME"] + "/dev/pitbull/cpp/bin/gen_version.rb --write"
`#{cmd}`
gen_version.rb 脚本计算出时间戳、最后一个主标记和 HEAD git 哈希,并写入VERSION.hpp
也在 git 中的文件。
然后我use git update-index --assume-unchanged VERSION.hpp
用来让 git 忽略我的更改。
现在,如果我留在我的开发分支上,这将非常有用。但是当我尝试 a 时get checkout master
,我搞砸了:
git checkout master
error: Your local changes to the following files would be overwritten by checkout:
cpp/inc/core/util/VERSION.hpp
Please, commit your changes or stash them before you can switch branches.
Aborting
什么是正确的 git 设置,以便我可以在签出时更新 VERSION.hpp,但无论我的分支如何,git 都会忽略对此文件的任何更改?
编辑 我更改了主题,因为最终解决方案实际上解决了一个更广泛的主题,这可能对更多的 SO 用户更有用。因此,您可以通过两种方式阅读该主题:使用原始标题和下面的答案,或者使用上面更广泛的问题,再次使用下面的整个解决方案。