gpt4 book ai didi

windows - 如何让 Windows 单独保留可执行位?

转载 作者:可可西里 更新时间:2023-11-01 09:28:48 26 4
gpt4 key购买 nike

不幸的是,我不得不部分时间在 Windows PC 上工作。

当我检查我的项目时,git status 立即显示:

modified:   bin/my_executable

git diff 说:

diff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644

“哦,简单”我想。 “Windows 只是剥离了可执行文件。”

现在,在过去的 30 分钟里,我一直试图让 Git 停止它,我即将因挫败感而患上动脉瘤。 checkout 文件不起作用:

$ git checkout bin/my_executable$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644

硬重置,无效:

$ git reset --hardHEAD is now at 789abcd My last commit text$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644

使用 git update-index 切换可执行位不起作用:

$ git update-index --chmod=+x bin/my_executable$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644$ git checkout bin/my_executable$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644

请 Git 友善地忽略可执行位的更改没有用:

$ git config --global core.fileMode false$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644$ git checkout bin/my_executable$ git diffdiff --git a/bin/my_executable b/bin/my_executableold mode 100755new mode 100644

这是一个完整的拦截器。 Git 甚至不会让我在没有先“提交我的更改”的情况下 pop 我的 stash 。

有人可以帮忙吗?

最佳答案

完成后:

git config --list

我注意到 core.fileMode 在本地设置为 true。我不知道这是怎么发生的,但它可能与项目目录在 Windows 和 Linux PC 之间同步这一事实有关。不过,我多年来一直使用此工作流程,但从未发生过这种情况。

简而言之,这解决了我的问题:

git config --unset core.fileMode

编辑:根据对此答案的评论,简单地取消设置 core.fileMode 已经不够了,因为默认值已更改为 true。我无法验证这一点,因为我不再使用 Windows 进行开发,但如果是这种情况,您可以手动将其设置为 false:

git config core.fileMode false

关于windows - 如何让 Windows 单独保留可执行位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26884337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com