由于您已使用linux标记了此问题,因此您只需将文件检入即可。现在,您已经在计算机上对其进行了更改:
% 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] 删除。
我来说两句