etckeeper,Git checkout和/ etc中破坏的文件权限

我想弄清楚为什么,在一个etckeeper提交后,我有一个重新启动的问题(已经解决了感谢这个伟大的事情)。

我和etckeeper一起玩,做了git checkout some_commit_sha快速查看,然后git checkout master

这似乎我的文件权限/etc被破坏后,这些操纵。 所有的文件,包括ssh_host_rsa_key passwd-, shadow-都是rw-r--r-- 。 我不知道Git不保存文件权限。

现在我修好了所有的(我希望我没有错过任何东西)。

什么是正确的方式来获得/etc更早的状态,环顾四周,并返回到正确的文件权限的主人?

根据文档(见下文),你必须运行

 etckeeper init 

检查任何文件后,为了恢复权限。 git不能直接存储文件权限,所以它是由etckeeper处理的,你需要再次运行init来恢复它们。

文档部分,

你可以使用任何你喜欢的git命令,但是请记住,如果你签出一个不同的分支或旧版本,git直接在系统的/ etc中运行。 如果你决定签出一个分支或标签,确保你再次运行“etckeeper init”,以获得任何元数据更改:

git checkout april_first_joke_etc

etckeeper init