首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用git版本控制仅更新和提交文件的权限

使用git版本控制仅更新和提交文件的权限
EN

Stack Overflow用户
提问于 2012-05-09 20:34:03
回答 3查看 208.4K关注 0票数 219

刚刚将some.sh文件转换为可执行文件(chmod 755 ...),更新了权限,但没有更新内容。有没有办法将文件提交到git中,以便在克隆/签出/拉入时恢复/设置可执行文件位?

更新:如何跟踪新权限是否已提交给github

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-09 20:45:32

默认情况下,如果您更改了执行文件权限,git将更新这些权限。它不会更改或跟踪任何其他权限。

如果您在修改execute权限时没有看到任何更改,那么您可能在git中有一个忽略文件模式的配置。

查看您的项目,在config文件的.git文件夹中,您应该会看到如下所示:

代码语言:javascript
复制
[core]
    filemode = false

您可以在您喜欢的文本编辑器中将其更改为true,或者运行:

代码语言:javascript
复制
git config core.filemode true

然后,您应该能够正常提交您的文件。它将只提交权限更改。

票数 218
EN

Stack Overflow用户

发布于 2014-01-12 12:39:04

@fooMonster文章对我很有效

代码语言:javascript
复制
# git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe    script.sh

如您所见,该文件具有644权限(忽略100)。我们希望将其更改为755:

代码语言:javascript
复制
# git update-index --chmod=+x script.sh

提交更改

代码语言:javascript
复制
# git commit -m "Changing file permissions"
[master 77b171e] Changing file permissions
0 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 script.sh
票数 248
EN

Stack Overflow用户

发布于 2013-06-27 02:38:56

对我不起作用。

模式是真的,文件权限已经改变了,但是git说没有工作要做。

代码语言:javascript
复制
git init
git add dir/file
chmod 440 dir/file
git commit -a

问题似乎是git只能识别特定的权限更改。

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10516201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档