首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows上的Git和文件属性

Windows上的Git和文件属性
EN

Stack Overflow用户
提问于 2012-01-04 00:08:57
回答 3查看 4.8K关注 0票数 10

我注意到在Windows环境中使用Git提交或签出文件时,文件属性不会保留(例如隐藏或只读)。如果我提交了一个隐藏文件,然后在另一台计算机上将其签出,则该文件将不再隐藏。有没有可能让Git识别Windows文件属性?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-04 00:11:34

不是的。Git也不会跟踪完整的UNIX权限,它只是为了方便起见而记住了可执行的部分。至于原因--它是一个版本控制系统,主要是用来跟踪源代码的。这使得该功能完全无用(更不用说“隐藏”属性本身也是非常无用的)。

票数 11
EN

Stack Overflow用户

发布于 2012-01-04 00:16:39

您可以使用签出后客户端挂钩进行所需的任何更改。在您的示例中,您将使用它来运行一个脚本,该脚本设置所需的Windows文件属性。

ProGit在"Other Client Hooks“段落中对此进行了概括的描述:

Customizing Git Hooks

另请参见githooks手册页。

票数 9
EN

Stack Overflow用户

发布于 2019-11-16 08:21:42

我尝试了@wadesworld建议,并想出了这样的方法,创建包含以下内容的文件\.git\hooks\post-checkout

代码语言:javascript
运行
复制
#!/usr/bin/env pwsh
param (
    $PreviousHead,
    $NewHead,
    # Branch 1, File 0.
    $BranchOrFile
)
$Name = '.HideMe'
if ((Test-Path $Name) -and !(Get-Item $Name -Force).Attributes.HasFlag([IO.FileAttributes]::Hidden)) {
    (Get-Item $Name).Attributes += 'Hidden'
}

.HideMe更改为您想要隐藏的文件/文件夹,如果需要,您也可以使用这3个参数,例如,仅在分支机构签出或文件签出时运行。这需要安装Windows才能工作,但也可以在cmd或PowerShell PowerShell中实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8715043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档