IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> git文件一直提示modified之解决 -> 正文阅读

[游戏开发]git文件一直提示modified之解决

问题

在使用git时,有时会遇到明明没有修改某个文件,但git status一直提示其处于modified状态,使用git restore 或git reset均不能消除modified,尤其是使用windows时更易遇到此问题,如果使用git svn功能也很容易遇到此问题

这种情况就是我们遇到了git的换行符问题了。

相关设置

在安装git时有一个换行符设置
git设置三个选项代表

  • 在checkout时自动转换LF为CRLF,commit时CRLF自动全转为LF (windows上的默认选项)
  • 在checkout时不做转换,commit时CRLF自动全转为LF
  • 在checkout时commit时均不做任何换行符转换

情况一 某文件中有混用的LF和CRLF

基本上搜索到的都是在说这种情况
在checkout后由于有自动转换,CRLF变为了LF,则产生modified状态

这时你可以使用git config --global --core.autocrlf false来关闭这个自动转换
或者手动将该文件中的换行修正为统一的LF或CRLF

情况二 .gitattributes在搞鬼

重点来了这也是今天遇到的情况
项目中使用了一些第三方代码,这些代码中有些包含.gitattributes 大致如下

# default behavior is to always use unix style line endings
* text eol=lf #这一行提示git文件中的换行符使用LF
*.png binary
*.pdn binary
*.jpg binary
*.sln binary
*.suo binary
*.vcproj binary
*.patch binary
*.dll binary
*.lib binary

第三方代码在经过我们在windows上编辑编译后,提交到服务器时可能使用了CRLF,这时下载代码下来,文件本身是CRLF的,但是.gitattributes指定了LF,git就会认为modified

解决办法

  • 将第三方代码再修改为LF
  • 删除第三方代码中的.gitattibutes 或注释掉其中的text eol=lf
  • 临时解决 也可删除第三方.gitattibutes中的text eol=lf,随后discard .gitattibutes的变化,这时git也会回到clean状态,只是不知何时它还会发现这个问题

ps:如果项目中有这样的情况,git并不会立刻提示modified,而是不知道什么时候就触发了,很是奇怪

总结

遇到git一直提示某文件modified

  1. 先考虑是否有文件LF与CRLF混用(设置core.autocrlf为false解决)
  2. 考虑是否项目中有其它的.gitattributes文件,其中指定了不同的换行符
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:59:49  更:2022-03-30 19:03:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:01:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码