Git:使用可执行文件

射手座

我有一个项目,其中有一个.sh文件,一旦被其他人拉过,它必须处于可执行模式。现在,我已经在本地计算机上更改了其权限。但是我也希望它也可以被推/拉为可执行文件,以便其他用户不必一直运行chmod命令。

我已经收到了两种可能的解决方案的通知:.gitattributesgit update-index --chmod=+x script.sh,但是我不确定在给定条件的情况下应该遵循什么方法。

我已经看到了张贴在这里和这个答案,而我哪一个会适合我的情况下,更多的思考。我希望此过程自动完成,而不是每次都由用户完成。

有什么想法吗?

爱德华·汤姆森

由于您已使用标记了此问题,因此您只需将文件检入即可。现在,您已经在计算机上对其进行了更改:

% chmod +x script.sh

Git会注意到文件已更改:

% git status
On branch old2
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   script.sh

您可以比较发现该文件实际上是可执行的:

% git diff foo.sh
diff --git a/foo.sh b/foo.sh
old mode 100644
new mode 100755

模式100644反映了一个不可执行的文件,而模式100755反映了一个可执行文件,类似于Unix文件的权限位。除了更改权限之外,您还更改了文件,您还将看到所做的更改。)

当您签入此文件,并且您的协作者拉出您的更改时,该文件也将变为它们可执行的。


请注意,这在没有执行位概念的系统(例如Windows)上不会自动运行,在这种情况下,您需要使用进行某些操作update-index

注意,这依赖于你的系统上已经配置的core.filemode正确设置。true在所有非Windows系统上,都应将此值设置为

% git config core.filemode
true

如果由于某种原因该命令返回false并且您在非Windows计算机上,请运行:

% git config core.filemode true

重新启用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Git:使用可执行文件

来自分类Dev

“使用回滚可执行文件”不强制设置可执行文件

来自分类Dev

Android Studio Git可执行文件路径

来自分类Dev

通过 .NET 可执行文件管理 git repo

来自分类Dev

使用Electronjs执行可执行文件

来自分类Dev

使用Mono可执行文件捆绑.dylib文件

来自分类Dev

使用通配符路径运行可执行文件

来自分类Dev

使用Intellij创建可执行文件.jar

来自分类Dev

使用参数从Powershell脚本运行可执行文件

来自分类Dev

使用NSTask启动可执行文件-沙箱问题?

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

如何使用Clion调试外部可执行文件

来自分类Dev

使用Rust在PATH中查找可执行文件

来自分类Dev

使用pyinstaller创建可执行文件时出错

来自分类Dev

使用NSTask启动可执行文件-沙箱问题?

来自分类Dev

使用nsis安装可执行文件的特权

来自分类Dev

使用Shell脚本运行可执行文件

来自分类Dev

使用Python可执行文件设置Cygwin

来自分类Dev

使用ProcessBuilder从Java运行可执行文件

来自分类Dev

如何使用“查找”仅查找可执行文件?

来自分类Dev

使用Nautilus运行C ++可执行文件

来自分类Dev

使用Haskell运行可执行文件

来自分类Dev

使用Qt5查找可执行文件

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

Powershell使用参数调用可执行文件

来自分类Dev

无法使用可执行文件创建快照

来自分类Dev

使用 gem 交付可执行文件

来自分类Dev

如何使用 C++ 输出可执行文件

来自分类Dev

使用 pip 安装 Windows 可执行文件