相关疑难解决方法(0)

git-diff忽略^ M.

在某个项目中,某些文件包含^ M作为换行符分隔符.分散这些文件显然是不可能的,因为git-diff认为它是整个文件只是一行.

如何与之前的版本区别开来?

有没有像"在分辨时将^ M视为换行符"的选项?

prompt> git-diff "HEAD^" -- MyFile.as 
diff --git a/myproject/MyFile.as b/myproject/MyFile.as
index be78321..a393ba3 100644
--- a/myproject/MyFile.cpp
+++ b/myproject/MyFile.cpp
@@ -1 +1 @@
-<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate
\ No newline at end of file
+<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate
\ No newline at end of file
prompt>
Run Code Online (Sandbox Code Playgroud)

更新:

现在我编写了一个脚本,检查最新的10个版本并将CR转换为LF.

require 'fileutils'

if ARGV.size != 3
  puts "a git-path must be provided"
  puts "a filename must be provided"
  puts "a result-dir must be provided"
  puts "example:"
  puts "ruby gitcrdiff.rb project/dir1/dir2/dir3/ …
Run Code Online (Sandbox Code Playgroud)

git diff newline git-diff

423
推荐指数
9
解决办法
27万
查看次数

在emacs中隐藏^ M.

有时我需要在行结尾中读取具有^ M(control-M)的日志文件.我可以做一个全局替换来摆脱它们,但随后会有更多内容记录到日志文件中,当然,它们都会回来.

设置unix样式或dos样式的行尾编码似乎没有多大区别(但unix样式是我的默认值).我正在使用未定 - (unix | dos)编码系统.

我在Windows上,读取log4net创建的日志文件(虽然log4net显然不是这种烦恼的唯一来源).

任何提示?

emacs

56
推荐指数
4
解决办法
3万
查看次数

在emacs中,如何剥离CR(^ M)并留下LF(^ J)字符?

我正在尝试使用hexl模式从文本文件中手动删除一些特殊字符,但是看不到如何在hexl模式下删除任何内容.

我真正想要的是删除回车并保持换行符.Hexl模式是正确的方法吗?

emacs hex hex-editors

35
推荐指数
6
解决办法
3万
查看次数

Git core.autocrlf行结束默认设置

我试图弄清楚core.autocrlf如果用户没有更改此设置,Git中的默认值是什么.

我查看了文档但找不到此信息.你能指点我正确的方向吗?

具体来说,在新的Git安装上,Git会在从Windows系统提交回购时自动将Windows行结尾转换为Unix吗?

谢谢!

git operating-system newline

34
推荐指数
2
解决办法
9098
查看次数

Git:在我意外更改后,如何重置配置参数?

我正在git config使用bash中的tab完成选项来探索这些选项,并且没有真正思考,我这样做了:

git config --global user.signingkey --help
Run Code Online (Sandbox Code Playgroud)

现在我的全局签名密钥设置为--help.捂脸.有没有一种通用的方法可以找出这些配置设置在过去的位置,或者在某个项目中我可以查看这个设置以查看可能设置的内容?我有一个Github帐户,也许我可以从那里得到旧的价值,因为我没有推过任何错误?我甚至不确定它是否设置为任何东西,但我确实使用SSH与Github.

cd <another project's location>; git config user.signingkey
Run Code Online (Sandbox Code Playgroud)

回报--help.

git

25
推荐指数
1
解决办法
4万
查看次数

通过 cPanel 添加私有 git repo

我正在尝试在 cPanel 上添加一个私有的 git repo,但遇到了权限问题并且不确定我哪里出错了

我已经在 cPanel 的“SSH 访问”部分生成了 SSH 密钥。然后,我将密钥添加到 git 中“部署密钥”部分的私有存储库中。

但是当我尝试在 cPanel 上克隆 repo 时,出现错误:

错误:“/usr/local/cpanel/3rdparty/bin/git”结束时报告错误代码“128”:Permission denied (publickey)。致命:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。

我正在尝试使用 SSH 进行克隆 git@github.com:myusername/myrepo.git

我做错了什么或错过了一步吗?

git github cpanel

17
推荐指数
5
解决办法
1万
查看次数

git应该改变行的结尾吗?(控制+第一行末尾的M或^ M)

pull从windows机器上使用git 代码.

当其他开发人员pull在他们的liunx机器上从服务器开发文件时,他们就^M在第一行的末尾.

怎么能让git为我照顾这个?

我的意思是,git当我(从我的窗口机器)推送服务器上的代码时,应该更改行的结尾(在第一行的末尾删除控件+ M或^ M).

git github github-api

10
推荐指数
2
解决办法
9736
查看次数