windows - cygwin git项目下创建的windows文件夹和文件不可访问
问题描述
我正在使用 cygwin git 来管理我的 windows 源代码。我在不同的 PC 上至少遇到过两次以下问题。所以我认为奇怪的行为背后确实存在一些棘手的问题。
有两个具有相同源代码的项目文件夹用于比较。一个由 cygwin/git 管理,另一个不是。当我尝试清理/构建第一个项目时。我抱怨文件/文件夹访问失败而失败。
而当我使用 cygwin 检查文件夹时,奇怪的是在构建过程中创建的一些新文件夹缺少用户访问权限。
ICT-EDA@ICT-EDA:/cygdrive/f/stm32/F103_spi_slave/EWARM/F103_spi_slave(master)]$ls -l
total 0
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 Exe
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 List
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 Obj
我检查了umask如下
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$umask
0022
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -l F103_spi_slave/abc F103_spi_slave/EWARM/abc
ls: cannot access 'F103_spi_slave/abc': No such file or directory
ls: cannot access 'F103_spi_slave/EWARM/abc': No such file or directory
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$touch F103_spi_slave/abc F103_spi_slave/EWARM/abc
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -l F103_spi_slave/abc F103_spi_slave/EWARM/abc
-rw-rw-r--+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/abc
----rw----+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/EWARM/abc
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -ld F103_spi_slave F103_spi_slave/EWARM
drwxrwx---+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave
drwxrwx---+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/EWARM
从上面的日志可以看出,在同一个umask下,新创建的两个文件的访问权限不同。我也看不出这两个文件夹之间有任何区别。git 在 F103_spi_slave/.git 下创建。所以 F103_spi_slave/abc 也应该由 git 管理。甚至令人困惑。也许问题是windows,而不是git。
在另一个文件夹上,构建成功完成,因为它不是由 git 管理的。
解决方案
推荐阅读
- sas - SAS中total = sum(of q1-q4)和total = sum(q1-q4)之间的差异
- amazon-dynamodb - 需要一些关于大数据 ETL 作业成本效益设计的建议
- arduino-c++ - 无法为 Encoder.h 构建包装类,在调用包装类构造函数之前调用了编码器构造函数
- javascript - 如何在 vuejs 的 storybook 故事中导入 scss 文件和图像?
- android - OnTouchEventListener返回值的含义
- ajax - Laravel CSRF 令牌不匹配异常。通过 jQuery ajax 向资源路由发送“Put”请求
- javascript - 如何使用 JS 的“加载更多”按钮从网站上抓取数据
- google-sheets-api - Google Sheet SheetID 问题
- ios - firebase_database - 创建 iOS 版本时未找到模块“firebase_database”。(扑)
- django - 如何使用 Q 使用字符串进行过滤