我经常将Bash脚本添加到我的Git仓库中,这些脚本在git add
之前在Linux文件系统中具有可执行权限。但是,在将添加的文件推送到远程仓库并在另一个位置拉取后,这些文件的权限变为非可执行权限。似乎有两种方法可以解决这个问题:
-
chmod u+x $script git commit -am "fixing the script permissions... again..."
-
git update-index --chmod=+x $script
有没有一种方法能让Git在git add
期间查看脚本的文件权限、认识到"嘿,这是一个可执行文件!"并直接添加可执行权限到仓库中,而不必每次都修复文件权限?
filemode=true
,所以我不明白为什么Git要放弃x
位。这两台机器都在Intel的普通Ubuntu 12.04上运行。其中一台机器的文件系统是NFS,另一台机器则是VirtualBox中的共享文件夹,如果有区别的话。希望会有人过来给我指点迷津。 - Byron Hawkinsgit add --chmod=+x
就足够了!请参见下面的我的答案。 - VonC*.sh text eol=lf chmod=+x
- Anthony Mastrean