【问题标题】:Can't commit update-index on Windows无法在 Windows 上提交更新索引
【发布时间】:2017-01-17 03:10:25
【问题描述】:

我有一个名为 post_deploy 的可执行文件,它在推送后在我的 OpenShift 设备上运行,但它无法执行,所以我运行了:

git update-index --chmod=+x .openshift/action_hooks/post_deploy

但每次我执行git add 提交文件时,文件都会失去可执行权限。如果我试图做一个commit,git 会告诉我没有什么可以提交的。我最终不得不跳到 Cygwin 让它工作,但我怎样才能让它在 Window 的命令提示符中工作?

【问题讨论】:

  • 更新不够?

标签: windows git openshift


【解决方案1】:

检查您的 Git 版本:with Git 2.9.1, you can add with chmod

git add --chmod=+x -- yourFile

还要检查git config core.filemode 的值。我怀疑它应该是错误的(在不支持可执行位的环境中是预期的)。
尽管如此,add --chmod=+x 应该足以在 Git 存储库中记录该可执行位。

最后,在 Linux/Cygwin 环境中克隆您的 repo,并检查该文件是否已经在那里可执行。


OP NicholasJohn16 报告 below 使用“How do I remove files saying “old mode 100755 new mode 100644” from unstaged changes in Git?”来解决问题。

【讨论】:

  • 我使用的是 1.9.5,所以这可能是问题所在。如果再次发生,将更新并尝试此操作。
  • 不幸的是,升级到 2.10 后这似乎不起作用。
  • @NicholasJohn16 和(在 Windows 上)最新的 2.10.1? (github.com/git-for-windows/git/releases/tag/v2.10.1.windows.1) 两天前发布?
  • 能够真正解决我对这个问题stackoverflow.com/questions/1257592/… 的问题,所以也许这是我遇到的另一个问题。
  • @NicholasJohn16 好的。我已将链接和您的评论包含在答案中以提高知名度。是git config core.filemode false吗?
猜你喜欢
  • 2013-05-14
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-10
  • 1970-01-01
  • 2021-07-24
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多