`

git 开发checkout下代码 git diff有区别

阅读更多
在有windows下git参与开发,git服务器又放在linux下的情况下,有时候会出现很奇怪的现象
就是,要执行git pull时,发现有几个文件不一样,不能pull代码

所以,执行git checkout希望还原,结果还是不一样。
这种情况可能出现在win上,也可能出现在协作的linux客户端上

实际上,原因是win的git bash安装时有个配置,提示是否转换CRLF的,导致的。就是checkout下来就会改变换行结束符,所以导致文件不一样。

解决办法:
1. git reset origin/master --hard
2. rm 文件
   git pull

参考如下:
引用

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.
Dos和windows采用回车+换行CR/LF表示下一行,
而UNIX/Linux采用换行符LF表示下一行,
苹果机(MAC OS系统)则采用回车符CR表示下一行.
CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A.
所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.
一般操作系统上的运行库会自动决定文本文件的换行格式. 如一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件.
在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时. 有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错.
很多文本/代码编辑器带有换行符转换功能, 使用这个功能可以将文本文件中的换行符在不同格式单互换.
在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化. 如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本.
分享到:
评论

相关推荐

    Linux内核开发:使用Git管理源代码

    除了上述基本操作,Git还提供了丰富的功能,如分支管理(`git branch`和`git merge`),回退到历史版本(`git reset`),比较不同版本之间的差异(`git diff`),以及查看提交历史(`git log`)等。这些功能使得团队...

    git本地代码管理指令

    ### git本地代码管理指令知识点详解 #### 一、概述 Git是一种分布式的版本控制系统,用于追踪计算机文件的变化,并且管理多个用户的协作开发过程。本文档主要介绍了Git的基础使用方法及常用命令,尤其针对初学者...

    Git开发操作流程v1.0 Git使用笔记 git常用命令 git常见问题

    Git是分布式版本控制系统,用于跟踪对文件和目录的更改,广泛应用于软件开发。本文将详细介绍Git的开发操作流程,常用命令以及...在实际工作中,结合团队的流程规范,合理运用Git能够极大地提高开发效率和代码质量。

    Git 源代码管理/下载工具

    开发者可以创建并切换不同的分支,比如`git branch`和`git checkout`,在不影响主分支的情况下进行新功能的开发或问题的修复。完成后再通过`git merge`将分支的改动合并回主分支。这种分支策略提高了开发效率,同时...

    git管理代码

    通过`git diff`命令,开发者可以查看工作目录中文件的改动,了解每次编辑对代码的具体影响。而`git log`则用于展示提交历史,包括每次提交的作者、时间戳以及提交信息,这对于追踪代码变更和回溯问题非常有用。 Git...

    git常用命令 嵌入式开发过程中git的简单使用

    Git是世界上最流行的分布式版本控制系统,尤其在嵌入式开发领域,Git被广泛用于代码的版本管理和协作。通过学习和熟练掌握Git的常用命令,开发者能够有效地跟踪和管理代码的变更,提高开发效率,并确保团队之间的...

    uboot结合git开发流程.pdf

    对代码进行修改后,可以使用git diff命令查看具体的修改差异。这对于确保代码修改符合预期、避免引入新的bug很有必要。 6. **代码合并与冲突解决** 在分支上的开发完成并测试无误后,需要将改动合并回主分支。...

    git分布式代码管理教程

    Git 的设计目标是为了解决开发过程中代码版本控制的问题,它具有快速、数据完整性及支持非线性开发的特点。 1. **安装Git:** - **Windows系统:** 访问 Git 官方网站([https://git-scm.com/]...

    Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.3

    Git还提供了丰富的命令行工具,如`git status`查看工作区状态,`git diff`比较文件差异,`git log`查看提交历史,以及`git blame`追踪代码修改者等。此外,Git支持多种协作模式,如fork和pull request,在GitHub等...

    GIT开发文档

    `git log`可以查看commit历史,`git diff`展示当前状态与已提交内容的差异。 在不同分支之间切换,可以使用`git checkout <分支名>`,如果想强制切换并丢弃未提交的改动,可以加上`-f`选项。`git cherry-pick`是一...

    git 常用的一些命令

    git diff 和 git diff --cached 的区别在于, git diff 只在 git add 之前有效,而 git diff --cached 在 git add 之后在 git commit 之前有效。 3. Git 提交命令 使用 git commit -m "修改说明" 命令可以提交...

    git开发流程1

    对比(compare)本地代码与`premaster`,可以使用`git diff`查看差异,或者通过`git checkout -b new_branch premaster`创建新分支,然后将本地更改合并过来,进行`pull`、`add`、`commit`和`push`提交修改。...

    git快速入门.pptx

    可以使用 Git checkout 命令将远程代码 Checkout 到本地。 git checkout origin/master -b feat 3. 修改代码,查看 diff 可以使用 Git diff 命令查看代码的差异。 git diff // 查看 diff git status // 查看文件...

    Git-1.9.0 git

    为了更好地利用Git,开发者需要掌握基本的Git命令和工作流程,例如,了解如何创建和切换分支(`git checkout -b`),如何解决合并冲突(`git diff`、`git merge --abort`或`git mergetool`),以及如何回退到之前的...

    git 视频教程

    git视频教程.3.2.Git 命令 - git diff、git difftool.mp4 git视频教程.3.3.Git 命令 - git commit.mp4 git视频教程.3.4.Git 命令 - git rm、git mv、git clean.mp4 git视频教程.3.5.Git 命令 - git reset.mp4 git...

    windows下的64位 Git

    Git是世界上最流行的分布式版本控制系统,尤其在软件开发领域中被广泛使用。对于Windows用户来说,64位Git提供了更高效、稳定和强大的性能。本文将详细介绍64位Git在Windows环境下的安装、配置和使用。 首先,我们...

    Git详解_Git详解

    要开始使用Git,首先需要在本地安装Git,然后通过`git init`命令初始化一个新的Git仓库,或者用`git clone`克隆已有的仓库。 2. **Git基础**: - **添加与提交**:使用`git add`将文件添加到暂存区,`git commit`...

    学习git和gitbash使用的一些详细操作

    Git是一个分布式版本控制系统,它最初由Linus Torvalds在2005年创建用于管理Linux内核的开发。Git的目的是快速高效地处理从小型到大型项目的所有事务。Git不仅是一个版本控制工具,它更是一个内容管理系统或文件系统...

    git 应用大全

    `Git`作为一款分布式版本控制系统,被广泛应用于软件开发项目之中。它不仅能够高效管理项目的历史版本,还能支持多人协作,提高团队的工作效率。本文将围绕“Git应用大全”的主题,深入探讨Git的核心命令及其应用...

    Git日常开发指南

    Git是一种版本控制系统,它被广泛用于软件开发中,用于追踪源代码的变化。Git可以管理项目文件的版本历史,支持多人协作开发,确保代码的一致性和完整性。本文将详细介绍Git在日常开发中的使用指南,包括基本概念、...

Global site tag (gtag.js) - Google Analytics