c# - 如何丢弃文件之间的 Git 更改

标签 c# version-control github

我有一个从 GitHub 克隆的存储库,并且我对文件 A 进行了更改,但是 Git 正在检测 文件 B、C 和 D 的更改。所有三个文件都检测到基本上 B、C、D 的全部内容的更改。即+B、C、D 中的所有行,-B、C、D 中的所有行。

我不想提交这个,因为它会导致脏提交。为什么 git 会检测这些更改以及如何让 git 永远忽略这些更改?

该项目是用 C# 编写的,我使用 GitHub Windows 应用程序,IDE 是 VS Express 2012。

编辑: 我意识到文件已经更改,但是有没有办法 a) 找出更改的内容 b) 告诉 git 忽略它们并且不在提交之间再次拾取它们。在我第一次打开克隆项目后,我的编辑器似乎正在以某种方式修改文件 B、C、D。

即使运行 git reset --hard 后,git diff 仍然会报告更改。

最佳答案

你可能需要告诉 git 你的行结束策略。

有关此主题的更多信息,请参阅以下资源

注意:短时间内修复需要调整计算机上的core.autocrlf 设置。正确的修复方法是创建一个 .gitattributes 文件,提交它,然后将 Pull 请求发送到您克隆的上游存储库。事实上,它不仅可以解决您的问题,还可以防止新用户以后遇到同样的问题。

有效的、C# 项目兼容的跨平台 .gitattributes 文件示例 can be found here 。请随意从中获得一些灵感;-)

关于行结尾和 Git 内部工作原理的非常详细的博客文章是 Mind the end of your line 。非常值得一读。

关于c# - 如何丢弃文件之间的 Git 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13263774/

相关文章:

c# - MessageQueue 和异步/等待

C#CF : How to open specific file extension with my program

version-control - 在源代码中查找符号依赖关系

command-line - 如何使用命令行从私有(private)仓库下载 GitHub Release

c# - 当我将它设置为详细信息时,如何将图像添加到 ListView?

c# - 如何在 MS Dynamics AX 2012 中使用 X++ 列表编码(marshal) C# 列表

部分 merge 的 Git 工作流程?

django - 有没有遵循 ContentTypes GenericForeignKey 的 django 还原工具?

git - 在 Pull 请求后 rebase

html - 如何将CSS代码添加到github中已有的HTML代码中?