社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

bitbucket中的Git显示了文件之间的巨大差异

Tomasz Stępnik • 3 年前 • 1179 次点击  

我有一个网站有git回购协议。我克隆了repo,这样我就可以在一个目录中开发,然后推送到repo,然后拉入live/prod目录(如果有更好的方法,我会有兴趣提出建议,但这超出了这个问题的范围)。

我在live directory中执行了以下操作,以推送我的所有最新更改:

git add .
git commit -a // added a message
git push

然后,我在dev目录中执行了以下操作:

git clone git@bitbucket.org:user/repo.git

然后我打开了两个文件,prod/root/test。php和dev/root/test。php,它们看起来一模一样。但是,当我执行以下diff命令时,它输出了整个文件:

diff prod/root/test.php dev/root/test.php

我很困惑,如果它们是相同的,为什么diff会输出整个文件。。。我也试过用谷歌搜索这个问题,但找不到其他有这个问题的人。可能是行尾问题或字符编码问题,它们看起来一样,但实际上不同,当你推到它们的repo时,git/bitbucket会转换它们吗?这是我唯一能想到的。。。要么就是我错过了一些非常明显的东西。

以下是输出:

1,3c1,3
< <?
< echo '<p>Hello world!</p>';
< ?>
---
> <?
> echo '<p>Hello world!</p>';
> ?>
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131097
 
1179 次点击  
文章 [ 5 ]  |  最新文章 3 年前
AlainD
Reply   •   1 楼
AlainD    3 年前

扩展@SimonBoudrias的优秀答案, git config --global core.autocrlf true 要求git在结账时将行尾从LF转换为CRLF。对于在Windows上工作的开发人员非常有用。此命令将添加以下内容到 %HOMEPATH%\.gitconfig :

[core]
    autocrlf = true

从运行命令 Git Bash 是最好的,但上面的行可以手动添加到 .gitconfig 如果你觉得容易的话。

Dharman jspcal
Reply   •   2 楼
Dharman jspcal    4 年前

不是解决方案,会对你有所帮助。

git diff --no-ext-diff --ignore-space-change -- <path> ->您只能在git bash中查看代码更改。

Patrick
Reply   •   3 楼
Patrick    12 年前

这通常意味着行尾不同。大多数diffin程序允许您忽略行尾的差异。你的允许你这么做吗?

Michael Krelin - hacker
Reply   •   4 楼
Michael Krelin - hacker    12 年前

很可能是线路终止。尝试 git diff --ignore-space-at-eol .而对于普通(非 git )不一样 diff -b .

Simon Boudrias
Reply   •   5 楼
Simon Boudrias    7 年前

这似乎是一个空白问题,为了避免将来出现这些问题,可以设置Git来规范它们。

Windows和UNIX系统不使用相同的行尾,为了防止基于这些行尾的冲突发生,您应该通过以下方式设置git config:

  • 窗户 : git config --global core.autocrlf true
  • Unix : git config --global core.autocrlf input

接下来,为了确保我们只使用理想的空白规则进行提交,您可以设置 config option :

git config --global core.whitespace trailing-space,space-before-tab,indent-with-non-tab