Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的文件在git diff中显示不正确?_Git_Version Control_Bitbucket_Atlassian Sourcetree - Fatal编程技术网

为什么我的文件在git diff中显示不正确?

为什么我的文件在git diff中显示不正确?,git,version-control,bitbucket,atlassian-sourcetree,Git,Version Control,Bitbucket,Atlassian Sourcetree,我在使用Git diff时遇到了一个问题。出于某种原因,它似乎误读了我更改的文件,并且每行的第一个字母都放在修改的(+/-)行中,如下所示: 这在我的应用程序和远程回购上都会发生 起初,我认为这可能是由于的原因导致文件无法读取的错误!已定义('BASEPATH')行,但这也发生在未进行此检查的文件上,以及我的项目的JS文件上。它可以在CSS、HTML和某些PHP文件上完美地阅读 也许我有什么设置错误,虽然这是我有过的第一次回购,我曾经有过这个问题。我不知道你需要知道什么信息,但如果你需要什么

我在使用Git diff时遇到了一个问题。出于某种原因,它似乎误读了我更改的文件,并且每行的第一个字母都放在修改的(+/-)行中,如下所示:

这在我的应用程序和远程回购上都会发生

起初,我认为这可能是由于
的原因导致文件无法读取的错误!已定义('BASEPATH')
行,但这也发生在未进行此检查的文件上,以及我的项目的JS文件上。它可以在CSS、HTML和某些PHP文件上完美地阅读

也许我有什么设置错误,虽然这是我有过的第一次回购,我曾经有过这个问题。我不知道你需要知道什么信息,但如果你需要什么,请告诉我,我会帮你找到

编辑:如果有帮助,“文件合并”工具可以完美地显示更改

修复 正如KurzedMetal所指出的,这是Mac/Windows行结尾的问题。这是我目前用来转换行尾的修正。它并不完美,如果有人能建议一个更好的(理想情况下是递归的)函数,我很乐意接受

perl -pi -w -e 's/\r\n|\n|\r/\n/g;' *.php
我必须对每个子目录都这样做,例如

perl -pi -w -e 's/\r\n|\n|\r/\n/g;' */*.php

这种差异显示是从哪里来的
git本身是一个基于文本的工具,因此它不是git的问题。您正在使用GUI前端。它是直接来自bitbucket的吗?是的,只是澄清一下,这可以在SourceTree和bitbucket中复制。我将在GitHub上测试它,看看结果如何。您有一个与文件行结尾(CRLF和LF)相关的问题。@KurzedMetal-就是这样,谢谢!我们团队中有一半的人在Windows上工作,这就是不同行尾的来源。您建议如何从这里开始?您可以将GIT设置为替换windows计算机上的行尾,或者让windows用户在其工具中使用合理的设置。