目前我常用的机器上,都有一份dotemacs的clone。那么问题来了,假如对其中一个文件做了只适合本地的修改,那么commit就会把这些修改一起记录下来,然后push到github上面时,就会在各个系统之间的混乱。
因此我专门做了一个文件放在init-files里面,命名为99local-conf.el,最后才加载之。我想达到的效果是,在仓库里面做一个空文件来占位,但是每次提交时却不提交这个文件的修改。
gitignore只能忽略那些原来没有被track的文件,所以修改.gitignore是无效的。
正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
1
|
% git update-index --assume-unchanged /path/to/file
|
缺点就是每个新的仓库都必须手动设置一次。幸运的是,这样的设置每个仓库只要进行一次就够了