刚刚将some.sh
文件转换为可执行文件(chmod 755 ...
),更新了权限,但没有更新内容。有没有办法将文件提交到git中,以便在克隆/签出/拉入时恢复/设置可执行文件位?
更新:如何跟踪新权限是否已提交给github
发布于 2012-05-09 20:45:32
默认情况下,如果您更改了执行文件权限,git将更新这些权限。它不会更改或跟踪任何其他权限。
如果您在修改execute权限时没有看到任何更改,那么您可能在git中有一个忽略文件模式的配置。
查看您的项目,在config
文件的.git
文件夹中,您应该会看到如下所示:
[core]
filemode = false
您可以在您喜欢的文本编辑器中将其更改为true
,或者运行:
git config core.filemode true
然后,您应该能够正常提交您的文件。它将只提交权限更改。
发布于 2014-01-12 12:39:04
@fooMonster文章对我很有效
# git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
如您所见,该文件具有644权限(忽略100)。我们希望将其更改为755:
# git update-index --chmod=+x script.sh
提交更改
# git commit -m "Changing file permissions"
[master 77b171e] Changing file permissions
0 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 script.sh
发布于 2013-06-27 02:38:56
对我不起作用。
模式是真的,文件权限已经改变了,但是git说没有工作要做。
git init
git add dir/file
chmod 440 dir/file
git commit -a
问题似乎是git只能识别特定的权限更改。
https://stackoverflow.com/questions/10516201
复制相似问题