我可以告诉 git 忽略 Linux 权限吗?

我可以告诉 git 忽略 Linux 权限吗?

我在 Windows 上进行开发,并通过 Bitbucket 使用 git 上传到 Linux 云服务器。

我编辑了一个 shell 脚本,它在 Windows 上有权限

-rwxr-xr-x

由于某种原因,当它进入 Linux 时,它具有权限

-rw-r--r--

为了使其可执行,我执行以下操作:

chmod +x <my_script>.sh

稍后,我在 Windows 上重新编辑脚本,并将更改推送到 Bitbucket。当我尝试

git pull

回到云端我收到以下错误:

error: Your local changes to the following files would be overwritten by merge:
        <path>/<my_script>.sh
Please commit your changes or stash them before you merge.
Aborting

我在云端所做的只是使文件可执行。我没有编辑它!我可以告诉 git 继续合并并忽略文件权限吗?如果不行,如何最好地处理这种情况?

我意识到我可以取消设置权限

chmod -x <my_script>.sh

执行拉取操作,然后重置权限

chmod +x <my_script>.sh

但每次编辑时都要这样做,很麻烦。有没有更好的方法?

答案1

您可以配置 git 以忽略可执行位:

git config --global core.fileMode false

更多详情请见此处:

git 配置

实际上发现了这个这里

相关内容