git config --global core.autocrlf input

发布时间 2023-10-06 11:28:45作者: yanglei.xyz

我们一般希望远程仓库中的代码为LF,就用: git config --global core.autocrlf input 就ok了。

 

git config --global core.autocrlf input

这是一个Git的配置命令,它的作用是告诉Git在检出代码时不要自动将行尾转换为CRLF(Windows风格的换行符),而是保留原来的LF(Unix风格的换行符)。

core.autocrlf input的意思是告诉Git在检出代码时不要自动将行尾转换为CRLF,而是保留原来的LF。这通常用于跨平台协作开发,以避免因行尾转换导致的代码变化和冲突。

 

core.autocrlf三种配置项(true、input、false)

 core.autocrlf 是一个Git的配置项,它有三个可选值:

  • true:在检出代码时自动将行尾转换为CRLF,在提交代码时自动将行尾转换为LF。
git config --global core.autocrlf true
  • input:在检出代码时不自动转换行尾,在提交代码时自动将行尾转换为LF。
git config --global core.autocrlf input
  • false:在检出和提交代码时都不自动转换行尾。
git config --global core.autocrlf false

 

补充:git的检出(Checkout)和提交(Commit)

检出(Checkout)和提交(Commit)是Git中两个非常重要的概念。

检出是指将代码从Git仓库中取出并放到本地工作目录中,以便进行修改和开发。在Git中,我们可以使用 git checkout 命令来进行检出操作,例如:

git checkout master

上述命令表示将当前分支切换到master分支,并将master分支的代码检出到本地工作目录中。

提交是指将本地工作目录中的代码变更保存到Git仓库中,以便其他人可以查看和使用。在Git中,我们可以使用 git commit 命令来进行提交操作,例如:

git commit -m "Add new feature"

上述命令表示将本地工作目录中的代码变更提交到当前分支,并添加一条提交信息为“Add new feature”的记录。

需要注意的是,提交操作只是将代码变更保存到本地仓库中,并不会同步到远程仓库中。如果需要将本地仓库中的代码同步到远程仓库中,还需要使用 git push 命令进行推送操作。

 

git pull已包含检出(checkout操作)

pull 命令包含了两个操作:fetch 和 merge。

fetch 操作是将远程仓库的代码更新到本地仓库中,但是并不会将代码合并到当前分支中,也就是说并不会进行检出操作。

merge 操作是将本地仓库中的代码合并到当前分支中,也就是进行检出操作。

因此,pull 命令包含了 merge 操作,也就是包含了检出操作。执行 pull 命令会将远程仓库的代码更新到本地仓库中,并将更新后的代码合并到当前分支中,从而实现了检出操作。