【问题标题】:How can just set write permission (unix chmod 0777) to a folder and git commit it in windows?如何将写入权限(unix chmod 0777)设置为文件夹并在 Windows 中 git 提交?
【发布时间】:2016-04-06 07:08:17
【问题描述】:

我在windows 中使用git

我知道设置可执行文件并提交它,可以使用这个:

git update-index --chmod=+x <file>

但是现在,如何只设置文件夹的读写权限(unix chmod 0777)并在windows中git commit呢?!

我还在Cygwin 中尝试了git config core.filemode truechmod 077 &lt;folder&gt;,但不起作用。

请注意,我说的是文件夹而不是文件权限。

【问题讨论】:

  • 所以你要读写?还是只写?
  • @cricket_007 读写(不可执行)
  • 好吧...我想你误解了目录文件权限。您可能想阅读此unix.stackexchange.com/a/18098/148686
  • 文件夹永远不可执行。目录权限的八进制 1 是 search 位。您可能不想删除它 - 但即使您这样做了,Git 也无法存储该权限。
  • 你不能为文件夹设置+x,因为,git 不存储文件夹的权限,只存储文件。

标签: windows git unix


【解决方案1】:

你不能。 Git 不存储文件的完整权限,它只存储文件是否可执行。对于文件夹,它根本不存储任何权限。

您的umask 将影响在本地计算机上创建文件夹时使用的权限,但这不是可以提交到存储库的内容。

【讨论】:

    【解决方案2】:

    由于 windows 不使用权限位,因此在 windows 下无效。

    “强制”git 跟踪这些更改的一种方法是使用 git Bash,这将导致 git 在 类 Unix 环境中工作,因此您将能够跟踪对文件权限所做的更改。


    这是一个给你的工作演示

    【讨论】:

    • 同意,如果你在 unix 上,它的内置但问题被标记为 windows,所以我显示在 bash 中。
    • 不,我的意思是你可以从 cmd.exe 运行它,你不需要运行 Git Bash。
    • 如果你安装了 git 而没有将它添加到路径中呢?
    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 2017-04-20
    • 2012-08-23
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多