首页 > 解决方案 > 有没有办法强制'git pull'覆盖文件而不是取消链接+创建

问题描述

在服务器上,我在一个带有不可变标志的目录中有一个项目。git pull仅当项目根目录中没有文件更改时,我才能更新我的项目文件。

如果我仅在 中进行更改/project_root/subfolder/file,我可以使用 git pull 对其进行更新。

但是,如果我有更改/project_root/.gitignore, git pull 会失败并显示error: unable to unlink old '.gitignore': Operation not permitted.

+i 标志project_root阻止 git(任何其他人)取消链接(并创建).gitignore。

但是文件可以修改。

拉取失败后我当前的解决方法是:使用 FTP 覆盖文件并运行git checkout -f ...

有没有办法强制git pull实际覆盖文件而不是取消链接旧的+创建新的?(执行的用户git pull没有 root 权限,因此(临时)从 project_root 中删除不可变标志不是一种方法。)

标签: git

解决方案


推荐阅读