【问题标题】:GIT stash apply reverse doesn't work with js and rb filesGIT stash apply reverse 不适用于 js 和 rb 文件
【发布时间】:2012-10-30 17:34:51
【问题描述】:

我试图弄清楚为什么 GIT 不对 javascript 和 ruby​​ 文件应用反向补丁,而是对 php 文件应用反向补丁。我的步骤是:

...modifying some php, ruby and js files...

git stash #将更改保存到存储中

git stash apply #应用它们

git stash show -p | git apply -R#反向修补

它工作正常,并且不会应用我隐藏的更改,但仅适用于 php 文件,不适用于 ruby​​ 或 javascript。所有文件(甚至 php)都有 CRLF 行尾。当我尝试使用LF 行结尾的文件时,根本没有问题,但我仍然想知道,为什么它只适用于CRLF 行的特定文件类型。

感谢您的帮助!

【问题讨论】:

标签: git newline reverse git-stash git-patch


【解决方案1】:

我发现了问题,我认为我的解决方案对其他人有用。实际上,它发生在从 Subversion 到 Git 的初始迁移之后。问题是项目中的文件有不同的行尾,所以它不依赖于文件类型。当 Git 在结帐期间尝试将它们全部转换为一种格式时,它是不正确的,并且在某些情况下 CRLF 被破坏了。我找到的解决方案:

git config --global core.autocrlf input# 在 OSX 或 Linux 上设置此设置

git config --global core.autocrlf true# 在 Windows 上设置此设置

git rm --cached -r .

git add .

git commit -m "Line endings fix. Now all lines are in LF format"

git reset --hard

之后,我有了一个干净的分支,其中包含一种格式的所有文件。希望,这会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多