不幸的是,当尝试对root用户权限配置文件进行版本控制时,需要使用sudo运行更改或读取它们的git操作。
同时,其他git操作(例如将更改推送到Github上的主仓库)需要在没有sudo的情况下运行,因为否则它们将无法从我的用户帐户正确访问SSH密钥。
此外,以sudo身份运行时,回购中.git中的索引文件最终归root拥有,这会破坏以后需要在不使用sudo的情况下运行但试图更新.git中先前存在的文件的操作。 / p>
什么是合适的配置,可以消除使用sudo运行和不运行之间的矛盾需求之间的这些冲突?如何实现此配置?
例如...
a)我应该一致地运行git WITH sudo,同时将其特别配置为以某种方式独立于运行中的用户访问用户帐户SSH密钥。 b)我是否应始终运行git WITHOUT sudo,同时将其配置为在需要以某种方式写入或访问根目录拥有的文件时使用sudo。
背景
我想对用于配置Ubuntu桌面的文件进行版本控制。这意味着当我尝试在将来的台式机(或重建后的同一台式机)上重复相同的配置时,很容易看到更改的行,甚至可以通过“功能描述”搜索配置文件的更改。>
该方法包括配置一个在其外部具有工作树的存储库(由git支持),然后在更改配置文件之前添加并提交未修改的(备用)版本的配置文件,然后使用体面的提交消息提交更改。 / p>
答案 0 :(得分:0)
我总是通过git config core.fileMode false
禁用git跟踪文件权限。
我认为可以通过工作环境(开发/生产)而不是git自己来管理文件权限。