当 .git 属性使 git 认为已进行本地更改时,Git 命令检查另一个分支
Git command to checkout another branch when .gitattributes makes git think local changes were made
一位队友通过 .gitattributes 文件创建了一个相当棘手的问题,指定要发生的一些行结束魔术(也称为重写)。
结果是每当他的分支被签出时,git 认为对各种文件进行了更改,即使是重新签出也是如此。因此,消除本地更改的正常尝试失败了,因为正如我所说,文件从一开始就是 "changed"。
最烦人的部分是,一旦这个分支被签出,就很难 "leave" 这个分支,因为任何试图签出另一个分支的尝试都会遇到
error: Your local changes to the following files would be overwritten by checkout
我的问题:当 git 自己进行更改时,我如何强制 git 签出另一个分支并丢弃我的本地 "changes"?以下是一些无效的尝试:
git checkout .
(仍然说进行了本地更改)
git clean -f
这是有效的方法:
rm .gitattributes; rm -rf *; git checkout someotherbranch
是否有更简单的方法来避免这个 .git 属性问题?
事实证明答案非常简单,我几乎不相信它,但它似乎有效。添加 -f 以强制结帐:
git checkout -f someotherbranch
一位队友通过 .gitattributes 文件创建了一个相当棘手的问题,指定要发生的一些行结束魔术(也称为重写)。
结果是每当他的分支被签出时,git 认为对各种文件进行了更改,即使是重新签出也是如此。因此,消除本地更改的正常尝试失败了,因为正如我所说,文件从一开始就是 "changed"。
最烦人的部分是,一旦这个分支被签出,就很难 "leave" 这个分支,因为任何试图签出另一个分支的尝试都会遇到
error: Your local changes to the following files would be overwritten by checkout
我的问题:当 git 自己进行更改时,我如何强制 git 签出另一个分支并丢弃我的本地 "changes"?以下是一些无效的尝试:
git checkout .
(仍然说进行了本地更改)git clean -f
这是有效的方法:
rm .gitattributes; rm -rf *; git checkout someotherbranch
是否有更简单的方法来避免这个 .git 属性问题?
事实证明答案非常简单,我几乎不相信它,但它似乎有效。添加 -f 以强制结帐:
git checkout -f someotherbranch