git gui - 可以显示 UTF-16 吗?

2023-12-01

有没有办法制作git gui以某种方式显示和显示 UTF-16 文件的差异?

I found 一些信息,但这主要指的是命令行而不是 GUI。


我一直在研究一个much在 msysGit 人员的帮助下得到了更好的解决方案,并提出了这个清洁/污迹过滤器。该过滤器使用 Gnu file 和 iconv 命令来确定文件的类型,并将其与 msysGit 的内部 UTF-8 格式相互转换。

这种类型的清洁/污迹过滤器为您提供了更大的灵活性。在大多数情况下,它应该允许 Git 将混合格式文件视为 UTF-8 文本:diff、merge、git-grep,以及 gitattributes 属性,如 eol-conversion、ident-replacement 和内置 diff 模式。

上面概述的 diff 过滤器解决方案仅适用于 diff,因此受到更多限制。

要设置此过滤器:

  1. Get Gnu libiconv, and file,并安装两者。
  2. 确保 GnuWin32\bin 目录(通常为“C:\Program Files\GnuWin32\bin”)位于 %PATH% 中
  3. 将以下内容添加到 ~\Git\etc\gitconfig:

    [filter "mixedtext"]
        clean = iconv -sc -f $(file -b --mime-encoding %f) -t utf-8
        smudge = iconv -sc -f utf-8 -t $(file -b --mime-encoding %f)
        required
    
  4. 在全局 ~/Git/etc/gitattributes 或本地 ~/.gitattributes 中添加一行以处理混合格式文本,例如:

    *.txt filter=mixedtext
    

我已经在包含 ANSI、UTF-16 和 UTF-8 格式的 sql 文件的目录上使用了它。到目前为止它正在发挥作用。不出意外的话,这看起来 20% 的努力可以解决 80% 的 Windows 文本格式问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git gui - 可以显示 UTF-16 吗? 的相关文章

  • git reword 在变基期间显示合并冲突,但是 pick 工作正常

    我正在尝试用很少提交的另一个分支来重新建立一个分支 虽然提交包括合并提交 但我可以使用以下命令成功地对其进行变基git rebase i r m
  • 如何克隆没有提交的裸 git 存储库并在克隆过程中获取正确的 HEAD 引用?

    这个答案 https stackoverflow com a 26898059 438273声称该问题已在版本中修复1 8 4 3 但是我在版本中还是遇到了2 25 1 它似乎在版本中按预期工作2 32 0 所以我不确定它是什么时候真正修复
  • 以编程方式将工作项关联到拉取请求

    我可以得到 https www visualstudio com en us docs integrate api git pull requests get a pull request https www visualstudio co
  • 自给定提交以来 git 中的作者列表

    我想要一种列出所有 git 作者的方法 仅自给定提交以来 是独特的 这两个很简单 我在网上看到过一些解决方案 大多数使用git log format 但我看到的都不符合附加要求 按提交日期排序 因此 如果约翰 史密斯 John Smith
  • 从“git diff”中排除文件

    我正在尝试排除一个文件 db irrelevant php 来自 Git diff 我尝试将文件放入db子目录名为 gitattributes与线irrelevant php diff我还尝试创建一个名为 git info attribut
  • 撤消多个文件和文件夹“git add”[重复]

    这个问题在这里已经有答案了 我执行了 git add 现在我想恢复 git add 我怎样才能做到这一点 git reset 这相当于git reset HEAD 将取消 add 更常见的是 取消暂存 所有文件 In Git revert用
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • 在 Bitbucket 中分叉存储库,保留分叉删除原始内容

    我在 Bitbucket 中分叉了一个存储库 但我想知道删除原始存储库后会发生什么 克隆也会被删除吗 别担心 分叉将继续存在
  • 在 MySQL 数据库上使用版本控制 (Git)

    我是一名 WordPress 设计师 开发人员 越来越多地使用版本控制 特别是 Git 尽管我确实在某些项目中使用 SVN 我目前正在使用 Beanstalk 作为我的远程仓库 将所有 WordPress 文件添加到我的存储库中是没有问题的
  • 我是否需要在裸仓库上运行 git gc ?

    man git gc http www kernel org pub software scm git docs git gc html其中没有明显的答案 而且我在谷歌上也没有任何运气 尽管我可能只是使用了错误的搜索词 我明白你应该偶尔跑步
  • git 可以忽略特定行吗?

    我在手机的本机浏览器上测试时使用 git 同步到phonegap 因此我有以下行 var isPhoneGap false 显然 我在构建时更改了这一点 但是有什么方法可以设置 git 来忽略这一行 或者我是否必须将其放入自己的文件中并以这
  • 如何将 GitHub PR 的代码与其他分支的 PR 代码分开?

    我正在开发一个项目并解决问题 我正在为每个拉取请求 PR 创建一个不同的分支 上次我用他们的 PR 创建了两个不同的分支并解决了这两个问题 现在的问题是 我的两个拉取请求都与我在不同分支上推送的代码搞乱了 我借助以下命令在 git bash
  • git 漂亮格式占位符之间的空格

    因为某些原因 这个原因 https stackoverflow com questions 53034425 git log pretty format windows strange behavior 我可能需要运行这样的 git 命令
  • Gitlab-runner 更改 builds_dir

    我在生产服务器上的默认 builds dir 是 root builds qL8eZYTH 0 faramarzqoshchi testing gitlab runner 我希望它是这样的 home domain name public h
  • GitLab 是否通过 git-annex 或其他方式支持大文件?

    我运行一个 GitLab 实例 并希望允许我的用户上传几乎任何大小的文件 众所周知 git 在处理大文件方面仍然存在问题 我知道通过将文件存储在其他地方并仅对元数据进行版本控制来规避此问题的方法 例如git annex git media
  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • 合并两个github帐户

    假设我有两个 github 帐户xyz 邮件 ID email protected cdn cgi l email protection and abc email protected cdn cgi l email protection
  • Git 命令查找哪些分支合并到当前分支以及何时合并

    我有几个功能分支正在自动合并到集成分支中 我想知道这种情况是否以及何时发生 我可以打字git log这将向我显示合并已经发生 但由于某种原因 它没有向我显示来自哪个功能分支 它只是说 将integration branch合并到integr

随机推荐

  • C++的recv()问题

    我想发送一个字符串 Hello there 但我只收到 re 这是为什么 void Accept SOCKADDR IN sock int intsock sizeof sock remoteSocket accept desc LPSOC
  • Vuejs 3如何将变量传递给槽内的所有元素

    我正在使用 VueJs 3 创建一个动态表组件 其中涉及将循环索引变量发送到插槽内的所有子组件 组件的用法如下
  • 无法加载从带有标识符的包中的笔尖引用的图像

    如果需要复制项目 gt 完成 区分大小写 gt 已注意 图像位于项目文件夹内 这里可能有什么问题 Xcode 版本 9 0 我通过将图像导入资产 Assets xcassets 并从那里引用它来解决这个问题 看起来 Xcode 9 中的构建
  • 如何切换浏览器操作的操作?

    我已经创建了我的第一个 chrome 扩展 它将事件处理程序添加到单击时页面上的所有锚元素 如果用户第二次单击该图标 事件处理程序将重新附加到锚元素并执行两次 我需要以下内容 单击浏览器操作 将事件添加到锚元素 如果可能 请在浏览器操作图标
  • 时间:2019-03-17 标签:c#webrequestpostimagetowebapi

    我在将图像上传到我正在运行的 Web API 时遇到问题 使用 GET 请求时 我可以从 Web API 检索数据 但在处理 POST 请求时遇到问题 我需要将 BMP 图像上传到 Web API 然后发回 json 字符串 HttpPos
  • 如何使用 Google Chrome 扩展更改所选文本的 CSS

    我正在为 Chrome 浏览器制作一个扩展 它使用 contextMenus 来更改所选文本的 CSS 但我无法访问 HTML 结构 即所选文本的父节点 就像在本示例中可以轻松做到的那样 var selection window getSe
  • Instagram ?__a=1 url 不再工作 & graphql/query 获取数据的问题

    4 月 19 日更新 使用cookie几天后ig pr前两天是块 看起来现在获取数据的唯一方法是使用sessionid具有特定值 Original 我正在使用 instagram a 1 url 来阅读 Instagram 用户的所有帖子
  • MySQL:将大表拆分为小表的最快方法

    我有一个非常大的表 其中有近 3 亿条记录 由于 select 查询对我来说太慢了 所以我想将其拆分为大约 800 个小表 数据集如下所示 XXXXXX column2 column3 column4 XXXXXX column2 colu
  • max 的匿名/Lambda 函数

    我正在尝试编写一个单行函数 您可以在其中输入一个数字和一个列表 然后它返回最高值 例如 Input getMax 5 1 4 7 Output 7 这是我当前的代码 getMax Ord a gt a gt a gt a getMax f
  • Scala 类型证据

    在scala源代码中我可以看到这段代码 implicitNotFound msg Cannot prove that From lt lt To sealed abstract class lt lt From To extends Fro
  • Realm 在 android 中进行 IN 查询

    是否可以在 android 中使用 Realm 进行 IN 查询 我的意思是 执行相当于 SELECT X FROM X WHERE x IN 预先非常感谢您 官方IN运算符 自 1 2 0 起 的工作方式如下 public RealmQu
  • 如何在Netbeans IDE之外运行数据库程序?

    我对数据库真的很陌生 这是我使用 java Netbeans 7 1 的第一个数据库程序 现在我们国家是夏天 我是 I T 课程的学生 我们关于编程的下一个主题是关于数据库的 因为没有课程 所以我花时间学习数据库 为下个学期做准备 我将此网
  • 使用 PropSheetLook_OneNoteTabs 样式动态调整 CMFCPropertySheet 大小

    我正在尝试动态调整大小CMFCPropertySheet在每个页面的底部添加自定义控件 由于所有属性页的高度并不相同 因此我有一种机制可以在必要时增加尺寸 为此 我已经重写了OnActivatePage方法并通过使用SetWindowPos
  • 如何将 CSS AnimationEnd 事件处理程序添加到 GWT 小部件?

    我希望我的 GWT 小部件在其CSS动画结束了 在纯 HTML Javascript 中 这可以通过注册事件处理程序轻松完成 如下所示 elem addEventListener webkitAnimationEnd function do
  • 与路由器的发送状态未定义

    我有一个组件 它使用路由器导航到另一个带有布尔变量的组件 如下所示 this router navigate consume course this id state isFirst replaceUrl true 在另一个组件中 我试图像
  • Excel 中令人困惑的 VBA 注释插入行为

    我要重写这个请求 我发现我可以更清楚 在电子表格中 我突出显示要在其中插入标准化注释的单元格 我使用键盘快捷键来激活AddServiceNote并且代码插入具有标准化格式和文本的注释 一切都有效 但不可重复 我无法选择另一个单元格并使用相同
  • 当我通过 Git Bash 中的 ssh 在远程 Linux 计算机上运行命令时,如何将文件内容直接复制到 Windows 剪贴板中?

    我使用的是 Windows 10 我打开 Git Bash 然后通过 ssh 进入 Ubuntu 服务器 我经常想复制一个大文本文件的全部内容 有时我宁愿快速将内容复制到剪贴板 而不是使用 scp 将文件下载到我的 Windows 计算机
  • ntdll.dll [下面的帧可能不正确/丢失,没有为 ntdll.dll 加载符号]

    几周以来我遇到了这种情况 这非常令人沮丧 我的程序调试得很好 没有错误 当我运行程序时 它执行了初始部分 工作 几秒钟后它终止于 中断继续 选项 当我查看调用堆栈时 发现它是来自 ntdll dll 和 msvcr100d dll 的错误
  • 如何在ORMLite中指定对象自定义序列化?

    我想将 ParentClass 类型的一些字段作为 json 字符串存储到我的数据库中 我不想使用 Serialized 接口和 DataType SERIALIZABLE 因为它与序列化类的完整类名相关 所以我使用以下代码 class P
  • git gui - 可以显示 UTF-16 吗?

    有没有办法制作git gui以某种方式显示和显示 UTF 16 文件的差异 I found 一些信息 但这主要指的是命令行而不是 GUI 我一直在研究一个much在 msysGit 人员的帮助下得到了更好的解决方案 并提出了这个清洁 污迹过