行结束-当.gitattributes使Git认为进行了本地更改时,Git命令检出另一个分支



一个队友通过.gitattributes文件创建了一个相当棘手的问题,指定了一些行结束魔术(也称为重写)。

结果是,每当他的分支被签出时,git就会认为对不同的文件做了更改,即使是新的签出。因此,清除本地更改的正常尝试会失败,因为就像我说的,文件从一开始就被"更改"了。

最烦人的部分是,一旦签出了这个分支,就很难"离开"这个分支,因为任何签出另一个分支的尝试都会遇到

error: Your local changes to the following files would be overwritten by checkout

我的问题是:我怎样才能强制git签出另一个分支,并在git自己做了更改时放弃我的本地"更改"?以下是一些没有成功的尝试:

  • git checkout .(仍然显示进行了本地更改)
  • git clean -f

是这样的:

rm .gitattributes; rm -rf *; git checkout someotherbranch

有没有不那么激烈的方法来逃避这个。gitattribute问题?

事实证明,答案是如此惊人的简单,我几乎不相信它,但它似乎有效。添加-f强制签出:

git checkout -f someotherbranch

最新更新