【问题标题】:How to get rid of bogus changes in git?如何摆脱 git 中的虚假更改?
【发布时间】:2011-03-02 17:52:08
【问题描述】:

我是 PortableGit 1.7.0.2 的快乐用户。今天我想从 GitHub.com 存储库中提取一个项目更改,所以我做了git pull。它失败并显示以下消息:error: Your local changes to 'main.rb' would be overwritten by merge. Aborting.。我不关心本地更改,所以我输入了git reset --hard HEADgit cleanfrom here 也没有帮助),但它没有用。当被问及git status 时,我仍然能够看到文件已修改。 git diff 显示文件的每一行都已修改,而 git diff -b 显示完全没有差异,所以我猜这是行尾问题。这很奇怪,因为代码仅从 Windows 机器推送。

无论如何,问题是:如何忽略本地的、虚假的更改并与远程存储库中的最新更改合并?

【问题讨论】:

    标签: git version-control github whitespace


    【解决方案1】:

    首先,您是否尝试过git clean -f(注意“-f”)?
    来自git config 手册页:

    clean.requireForce
    

    一个布尔值,使git-clean 什么都不做,除非给定-f-n默认为 true

    其次,您是否将 autocrlf 设置为 false as I mention in this question
    (即使从 Windows 机器推送到 Windows PC,带有 Unix eol 的文本文件也会被转换为 Windows eol)

    处理好这两点,你应该可以拉动了。

    【讨论】:

    • 我确实使用了'-f',但之前没有听说过'autocrlf'。后者确实有帮助,感谢 VonC!
    猜你喜欢
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2019-05-03
    • 2013-04-03
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多