git中有关old mode 100644、new mode 10075的问题解决小结

news/2025/1/31 0:35:21 标签: git

在 Git 版本控制系统中,文件权限变更是一种常见情况。当你看到类似 old mode 100644 和 new mode 100755 的信息时,这通常表示文件的权限发生了变化。本文将详细解析这种情况,并提供解决方法和注意事项。

问题背景

在 Git 中,文件权限变化通常出现在以下几种场景:

  1. 文件权限被有意修改:用户主动更改文件权限,如从可读写权限改为可执行权限。
  2. 跨平台操作:不同操作系统对文件权限处理的差异,如从 Windows 转移到 Unix 或 Linux 系统。
  3. 错误配置:由于 Git 配置或系统设置问题导致的权限误变。

Git 文件权限模式

在 Unix 和 Linux 系统中,文件权限模式主要包括:

  • 100644:普通文件,拥有读写权限,不可执行。
  • 100755:普通文件,拥有读写权限,可执行。

问题解析

old mode 100644, new mode 100755 说明文件权限从普通读写变为可执行权限。这通常在以下情况下发生:

  • 脚本文件被标记为可执行。
  • 开发人员在不同操作系统之间切换,导致文件权限发生变化。
  • 版本库迁移或合并过程中权限误变。

解决方法

1. 确认文件权限变更是否合理

首先,确认这些文件权限变更是否符合预期。如果你确实需要将某些文件(如脚本)设置为可执行,可以忽略此提示。

# 确认文件权限变更是否合理
ls -l path/to/file
​
2. 还原不必要的权限变更

如果某些文件权限变更是不必要的,可以使用以下命令还原文件权限:

# 将文件权限还原为644(普通文件,不可执行)
chmod 644 path/to/file

# 将更改提交到Git
git add path/to/file
git commit -m "Revert file permission changes"
​
3. 配置 Git 忽略文件权限变更

为了避免无意中提交不必要的权限变更,可以配置 Git 忽略文件权限变更:

# 配置 Git 忽略文件权限变更
git config core.fileMode false
​

实用示例

假设我们在项目中有一个脚本 example.sh,最初的权限为 644(普通文件),后来变为 755(可执行文件)。我们希望将其还原为原来的权限。

步骤如下:
  1. 查看当前文件权限
ls -l example.sh
​

输出类似:

-rwxr-xr-x 1 user group 0 date example.sh
​
  1. 修改文件权限
chmod 644 example.sh
​
  1. 提交变更
git add example.sh
git commit -m "Revert example.sh permission to 644"

http://www.niftyadmin.cn/n/5838185.html

相关文章

pytorch卷积的入门操作

左侧图像模拟一个图像数据,当我们用右侧的卷积核对其进行卷积操作时,设置stride 1或不设置默认为1,每次对应的格子相乘完之后,卷积核向右移动一格,再次对应相乘得到结果,如下过程简单演示。 卷积核就像一个…

【设计测试用例自动化测试性能测试 实战篇】

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 设计测试用例…

Python3 【函数】:函数编写训练15列

Python3 【函数】:函数编写训练15列 以下是 15 个 Python 函数使用的经典范例,每个范例都包含完整的程序代码、代码解释说明、测试案例以及程序执行结果。这些案例可供初学者模仿和学习,从而快速掌握函数的编写方法,为进阶学习打…

Node.js 的底层原理

Node.js 的底层原理 1. 事件驱动和非阻塞 I/O Node.js 基于 Chrome V8 引擎,使用 JavaScript 作为开发语言。它采用事件驱动和非阻塞 I/O 模型,使其轻量且高效。通过 libuv 库实现跨平台的异步 I/O,包括文件操作、网络请求等。 2. 单线程事…

games101-作业2

图形管线 Vertex Processing 对顶点进行加工,使其变换到屏幕空间坐标。 Triangle Processing 将加工后的顶点组装成三角形,用于下一步的光栅化。 void rst::rasterizer::draw(pos_buf_id pos_buffer, ind_buf_id ind_buffer, col_buf_id col_buffer, Pr…

SOME/IP--协议英文原文讲解4

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1.3 End…

冯诺依曼系统及操作系统

目录 一.冯诺依曼体系结构 二.操作系统 三.系统调用和库函数概念 一.冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 截至目前,我们所认识的计算机,都是由一…

clean code阅读笔记——如何命名?

命名的原则 1. “小处诚实非小事“ 有个词叫做”以小见大“。以建筑作喻,宏大建筑中最细小的部分,比如关不紧的门、未铺平的地板,甚至时凌乱的桌面,都会将整个大局的魅力毁灭殆尽,这就是整洁代码之所系。 2. 有意义…