git - 设计被结帐错误覆盖的目的
问题描述
如果您曾经使用 Git 进行版本控制,我相信以下错误会敲响警钟:
错误:您对以下文件的本地更改将被结帐覆盖:test.txt 请在切换分支之前提交您的更改或存储它们。中止
而且我知道您可以在签出另一个分支以解决此问题之前提交更改或存储更改。
但是,我想知道为什么要设计这种机制。如果我这样做,幕后会发生什么?换句话说,这里会发生什么潜在的错误,或者这个动作只会让 Git 感到困惑?
解决方案
Git 并不感到困惑,但知道它会继续执行破坏性操作。此机制旨在防止您因意外检出会覆盖已更改文件的文件而丢失(未提交/未暂存的)本地更改。
如果你完全确定你在做什么,你可以使用-f
or--force
标志来告诉 Git 继续,即使索引或工作树与 HEAD 不同。这将覆盖文件并且不显示警告。
推荐阅读
- c# - Windows 的 .NET CLR 与 Linux 或 Mac OS 的不同吗?
- node.js - 有人可以建议一个单行正则表达式来解析带有 - 或 / 分隔符的字母数字和可选数字 id 吗?
- javascript - 向数组中的每个元素添加一个随机数
- python - pytest 使用 Makefile 和 make 命令
- java - 使用“类”作为数据类型是什么意思?
- java - Android Studio 错误 - 缺少类文件
- ionic-framework - 从登录页面导航到 Ionic4 中的选项卡?
- c - 无符号与有符号整数
- python-3.x - 如何更新不可更新的视图?
- python-3.x - Kaggle 内核,无法创建文件