gpt4 book ai didi

git - 强制所有行尾到LF的git

转载 作者:行者123 更新时间:2023-12-03 15:03:25 28 4
gpt4 key购买 nike

我为Windows和Linux开发。我的Linux开发环境是在Windows主机上运行的虚拟盒子。我有一些共享的目录(实际上是使用samba,而不是内置的虚拟盒共享文件夹,因此该目录实际上在linux guest虚拟机上并共享到主机)

我们正在从svn转到git。我想在Windows机器上运行Source Tree(Linux是 headless 的)以进行版本控制。但是我希望所有文件都具有linux行尾(LF)。

我尝试按照Force LF eol in git repo and working copy上的说明进行操作,但它们对我不起作用。

我将配置设置如下:

[adamc@adamc-centos scripts]$ git config core.autocrlf
input
[adamc@adamc-centos scripts]$ git config core.eol
lf

我的.gitattributes中有以下内容(甚至将.sh强制为文本傻瓜,并再次指定了eol)
* text=auto
*.sh text eol=lf

我已经运行了在那里指定的checkout-index命令,但是我仍然有带有Windows行尾的.sh文件!
[adamc@adamc-centos scripts]$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

[adamc@adamc-centos scripts]$ git checkout-index --force --all
[adamc@adamc-centos scripts]$ ./EWEB/get_unmerged.sh
-bash: ./EWEB/get_unmerged.sh: /bin/bash^M: bad interpreter: No such file or directory

我错过了什么?还是我处理错误?

最佳答案

如果您使用其他操作系统,建议的设置是

Windows的

  • $ git config --global core.autocrlf true
  • 适用于Linux/Mac的
  • git config --global core.autocrlf input

  • 我认为您不需要定义参数 core.eol或使用文件 .gitattributes。 Git默认情况下会正确检测文本文件。

    如何进行提交以修复存储库中所有行尾的提交,您可以在github页上找到 https://help.github.com/articles/dealing-with-line-endings

    如果您使用git-svn迁移存储库,则最好重写整个历史记录并修复所有提交中的行结尾。

    关于git - 强制所有行尾到LF的git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37926728/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com