首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在git存储库和工作副本中强制停止LF

在git存储库和工作副本中强制停止LF
EN

Stack Overflow用户
提问于 2012-04-02 21:02:16
回答 2查看 121.4K关注 0票数 203

我有一个托管在github上的git存储库。许多文件最初是在Windows上开发的,我对行尾并不太小心。当我执行初始提交时,我也没有任何适当的git配置来强制执行正确的行结束。结果是,我的github存储库中有许多带有CRLF行结尾的文件。

我现在正在Linux上进行部分开发,我想清理一下代码行的结尾。如何确保文件在github上使用LF正确存储,并在我的工作副本中包含LF?

我设置了一个包含text eol=LF.gitattributes文件,对吗?提交并推送后,我可以只rm我的本地存储库并从github重新克隆以获得期望的效果吗?

EN

回答 2

Stack Overflow用户

发布于 2017-02-09 19:47:24

从git 2.10 (发布2016-09-03)开始,不需要单独枚举每个文本文件。Git 2.10 fixed the behavior of text=auto together with eol=lfSource

git代码库的根目录下的.gitattributes文件:

代码语言:javascript
复制
* text=auto eol=lf

添加并提交它。

然后,您可以执行以下步骤,现在所有文件都已标准化:

代码语言:javascript
复制
git rm --cached -r .  # Remove every file from git's index.
git reset --hard      # Rewrite git's index to pick up all the new line endings.

来源:Answer by kenorb

票数 186
EN

Stack Overflow用户

发布于 2022-02-19 05:03:44

我克隆Chromium depot_tools到我的mac上,工作副本的所有文件都以CRLF结尾。我发现这个脚本解决了我的问题。

代码语言:javascript
复制
cd <your repo>
# config the local repo to use LF
git config core.eol lf
git config core.autocrlf input

# Copy files from the index to the working tree
git checkout-index --force --all

# If above line doesn't work, delete all cached files and reset.
git rm --cached -r .
git reset --hard
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9976986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档