我有一个本地git存储库,它位于另一个本地git存储库的上游。当我从上游存储库拉到下游存储库时,我希望在更新后保留对特定文件的Windows文件权限。我尝试使用以下解决方案:https://github.com/git/git/blob/master/contrib/hooks/setgitperms.perl#L78
但是我相信它基于UNIX安全模型,并且不会保留我的权限。我该怎么做?我当时正在考虑将python脚本与win32security模块一起使用(因为我不熟悉perl),但一直找不到适合它的文档。除了手动设置权限外,我对Windows安全性的了解很少。
答案 0 :(得分:0)
您可以将git配置设置为忽略文件权限差异,
git config --global core.fileMode false
值得一试。
答案 1 :(得分:0)
解决方案最终变得非常简单。我只需要设置post-checkout和-merge挂钩即可运行python脚本来设置文件权限。我从here那里收集了关于win32security的足够信息,可以使用它,并使用os.getcwd()(在钩子运行时设置为git repo根目录)来定位正确的文件。