首页 > 其他分享 >svn和git提交时忽略不同平台的换行符(unix-eol)

svn和git提交时忽略不同平台的换行符(unix-eol)

时间:2024-06-03 23:12:53浏览次数:21  
标签:svn 文件 style git eol 换行符 native

跨平台的代码文件,拉下来在windows上没有修改,使用vs打开工程后就会有大量文件出现在修改列表中,对比diff,差异在最后一行分别是windowx的换行和unix的换行,也就是不同平台的换行符不一样,那么如何让svn忽略这种差异呢?

svn忽略不同平台的换行符

首先找到SVN配置文件:

进入项目的svn目录,tortoisesvn - 右键 - settings - general - edit,会打开全局的config文件,或者打开 %APPDATA%\Roaming\Subversion\config

找到[miscellany]选项下的enable-auto-props,去掉注释后值为enable-auto-props = yes
然后在[auto-props]一节添加或修改文件类型

[auto-props]
*.sample = svn:eol-style=native
*.json = svn:eol-style=native
*.script = svn:eol-style=native
*.txt = svn:eol-style=native
*.py = svn:eol-style=native
*.gitignore = svn:eol-style=native
*.yaml = svn:eol-style=native
*.bat = svn:eol-style=native
*.ini = svn:eol-style=native
*.xml = svn:eol-style=native
*.csd = svn:eol-style=native
*.ccs = svn:eol-style=native
*.cfg = svn:eol-style=native
*.udf = svn:eol-style=native
*.lua = svn:eol-style=native
*.pbxproj = svn:eol-style=native
*.vcxproj = svn:eol-style=native
*.mk = svn:eol-style=native
*.filters = svn:eol-style=native
*.sh = svn:eol-style=native
*.project = svn:eol-style=native
*.classpath = svn:eol-style=native
*.properties = svn:eol-style=native
*.java = svn:eol-style=native
*.mm = svn:eol-style=native
*.pch = svn:eol-style=native
*.xib = svn:eol-style=native
*.plist = svn:eol-style=native
*.strings = svn:eol-style=native
*.pbxproj = svn:eol-style=native
*.c = svn:eol-style=native
*.cpp = svn:eol-style=native
*.h = svn:keywords=Author Date Id Rev URL;svn:eol-style=native

这样以后commit的新文件的end of line属性将被指定为native,不同的系统下再获取该文件时会自动转换为相应的回车换行方式。

附完整的代码类型:apache.org/dev/svn-eol-style.txt

已在svn或已提交的文件

在修改列表批量选中文件,右键 - properties - New - EOL,选择native,注意要选中文件而不是文件夹

然后再把修改后进行commit即可,diff时看到最后添加了一行native,但用文本打开查看并无差异

git忽略不同平台的换行符

打开.gitignore文件,添加以下行

# 忽略行末空格
*.* trailing-space

差异是如何产生的?

应该是我使用vs打开了工程,或者是我在使用过程中打开了这些源代码文件

标签:svn,文件,style,git,eol,换行符,native
From: https://www.cnblogs.com/zhaoqingqing/p/18229871

相关文章

  • CTFHUB-信息泄露-SVN泄露和HG泄露
    目录SYN泄露方法1方法2HG泄露这两关我们需要用到一个泄露利用工具dvcs-riCpper和Perl环境,没有的就去下载,kali没有自带SYN泄露当开发人员使用SVN进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了SVN泄露漏洞。因......
  • 使用idea提交代码到github时,提交用户显示为以前使用的用户不是当前github用户
    在idea使用http的方式拉取代码,并且同样是用http的方式提交的代码。导致出现这个问题,。所以提交和拉取代码最好还是用ssh的方式更为妥当。只需要修改git上传代码的方式为ssh的方式即可(还需要在idea中登入github账号)修改提交代码的方式-步骤如下点击git在选择[ManageRemotes......
  • Git 笔记
    Git笔记git原理git的四个区域文件的四种状态git的工作流程安装git配置信息和获取帮助常用命令创建仓库跟踪文件gitadd取消跟踪gitrm提交到仓库gitcommit推送到远程分支gitpushcommit的查看、修改、合并搭建git服务器git原理git的四个区域工作......
  • git clone GitHub 仓库报错未授权
    gitcloneGitHub仓库报错未授权grantGithubauthenticationtogitCreated:2024-06-03T20:40+08:00Published:2024-06-03T20:44+08:00Categories:GitGitHub开启双重认证以后,就不能只依靠GitHub的账号密码来gitclonerepo了。这里提供一种方法,安装GithubComman......
  • git merge vs git rebase
      gitrebase命令经常被认为是Git巫术,初学者应该远离它,但它实际上可以让开发团队在使用时更加轻松。在本文中,我们将gitrebase与相关gitmerge命令进行比较。概念首先要理解的是gitrebase和gitmerge解决了同样的问题。这两个命令都旨在将更改从一个分支集成到另一个分支-......
  • git-更换本地远程仓库地址
    命令不删除远程仓库修改#查看远端地址gitremote-v#查看远端仓库名gitremote#重新设置远程仓库gitremoteset-urloriginhttps://gitee.com/xx/xx.git(新地址).git配置config文件修改修改.git隐藏文件夹下的config文件内容,将[remote"origin"]下的url修......
  • git 命令报错:Another git process seems to be running in this repository, e.g. an
    执行git命令时,报错:Anothergitprocessseemstoberunninginthisrepository,e.g.aneditoropenedby'gitcommit'.Pleasemakesureallprocessesareterminatedthentryagain.Ifitstillfails,agitprocessmayhavecrashedinthisrepository......
  • SVN冲突解决流程
    在使用Subversion(SVN)进行版本控制时,冲突是常见的问题。以下是一些常用的SVN命令行,用于解决冲突:更新本地副本:svnupdate此命令会将远程仓库的最新更改同步到本地副本。这是冲突常发生的地方。查看冲突状态:svnstatus冲突文件通常会显示为C(冲突状态)。解决冲突:SVN在......
  • 常用 Git 命令清单
    目录一、新建代码库 二、配置三、代码提交和同步代码第1步:工作区与仓库保持一致第2步:文件增删改,变为已修改状态第3步:gitadd,变为已暂存状态第4步:gitcommit,变为已提交状态第5步:gitpush,变为已推送状态四、代码撤销和撤销同步已修改,但未暂存已暂存,未提......
  • 【Git 版本管理】合并 + 变更,看懂Git
    看懂Git合并操作分离HEAD分离HEAD测试相对引用(^||~)操作符^相对引用^测试操作符~相对引用~测试撤销变更GitResetGitRevert撤销变更测试整理提交记录GitCherry-pick测试交互式rebase交互式rebase测试合并操作关键字:commit、branch、merge、......