首页 > 其他分享 >只修改了一行内容,git却显示整个文件被修改了

只修改了一行内容,git却显示整个文件被修改了

时间:2023-06-21 16:05:00浏览次数:40  
标签:LF 文件 git 一行 修改 内容 换行符

在使用git管理文本文件内容版本控制时,发现,只修改了文件的部分内容如几个字或几行字,结果用git gui的“rescan”,整个文件的内容都显示成红色了,这样,就很难看出是修改了哪些内容。

问题的原因:不同操作系统使用的换行符是不一样的

Unix/Linux使用的是LF,Mac后期也采用了LF,但Windows一直使用CRLF【回车(CR, ASCII 13, r) 换行(LF, ASCII 10, n)】作为换行符。而git入库的代码采用的是LF格式,它考虑到了跨平台协作的场景,提供了“换行符自动转换”的功能。

在Windows下使用git,在拉取文件时,会自动将LF换行符替换为CRLF;在提交时,又会将CRLF转回LF。就是这个转换有问题的。

解决方案
1.禁用git自动换行,防止重新拉分支时再度文件自动转码:

git bash命令行进行全局配置:

git config --global core.autocrlf false
git config --global core.filemode false
git config --global core.safecrlf true

2.问题文件修复,可用notepad++或其它可以切换 文本换行符的编辑器,打开有问题的文件,统一切换文件的换行符,再保存,git gui就能正常显示此次变更的内容了

标签:LF,文件,git,一行,修改,内容,换行符
From: https://www.cnblogs.com/mark946/p/17496449.html

相关文章

  • Git中Clon或push失败
    Git中Clone失败:解决办法:克隆时把用户名及密码加上,密码中不要包含@符号url=http://[用户名]:[密码]@git路径例如:http://yonghuming:[email protected]:8899/testProject/test.gitpull和push失败报错代码:fatal:couldnotreadUsernamefor原因:原因提示为需要输入......
  • gitlab忘记root密码解决方法
    #切换到git用户[root@gitlab_3_45~]#su-git#查看gitlab-rails的目录-sh-4.2$ls-lgitlab-railstotal40drwx------2gitroot4096Feb252020etc-rw-r--r--1rootroot8Feb252020REVISION-rw-r--r--1rootroot58Feb252020RUB......
  • git 批量add 时候排除指定文件
     比如gitadd只想要绿色部分,但一个个文件输入太慢这时候gitaddapp/model/:^*/*/*.pyc      添加整个model/  但排除子目录中的任意pyc文件 ......
  • 修改复制用户密码
    修改复制用户密码在备库查询当前配置的主库密码select*frommysql.slave_master_info\[email protected]:(none)>select*frommysql.slave_master_info\G***************************1.row***************************Number_of_lines:25Master_lo......
  • IDEA 修改SNV或GIT文件,父文件夹是颜色
    IDEA修改SNV或GIT文件,父文件夹是颜色:1、File>Settings>VersionControlDirecoryMapppings;选择Subversion/Git即可。 2、File>Settings>VersionControl>FileStatusColors;修改对应【Customized】颜色:(1)Havechangeddescendants 表示修改的父文件夹的......
  • git配置全局或单项目用户名和邮箱
    git配置全局或单项目用户名和邮箱1,查看本地设置 gitconfig--local--list2,全局设置邮箱和用户名gitconfig--globaluser.name"YourName"gitconfig--globaluser.email"[email protected]"3,单项目设置用户名和邮箱gitconfiguser.name"YourName"gitc......
  • VS Code 中 HTML文件使用emmet语法 感叹号!+Tab 生成HTML元素的修改方法
    在visualstudiocode(以下简称vscode)新建一个html,输入!后会提示按tab键生成html元素:这种方法生成的格式不适合我们,需要修改它;方法一,原有基础上简单的修改lang和charset这两个在vscode上,依次:文件-首选项-设置,输入emmet.variables然后添加项,如下图:建议:搜......
  • jar包冲突,修改jar包的路径
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.......
  • Python 修改ha配置文件
    Python修改ha配置文件任务要求1、用户输入字符串{"backend":"test.oldboy.org","record":{"server":"100.1.7.9","weight":20,"maxconn":30}}2、在对应的backend下,添加一条新记录backend不存在时,创建3、删除一条记录ba......
  • Windows系统下修改host文件
    window环境:hosts文件存放位置:C:\windows\system32\drivers\etc1、按win+r组合键,输入C:\windows\system32\drivers\etc并回车; 2、选中hosts文件,右键,使用文本工具(如Notepad++、记事本等,可以备份一份hosts文件); 3、在末尾添加hosts配置并保存; 4、配置好后......