GIT:应该使用武力吗?

标签 git

Git 在很多操作中都有 --force 标志,但是当我使用它们时,我觉得有点奇怪。就像忽略我的代码中的警告消息一样。

例如,我只是想取消暂存文件并执行了以下操作:

git rm --cached myfile.ext

git 报错:

the following file has staged content different from both the file and the HEAD

我真的不关心这个错误,它似乎不是问题 - 我只想保持我的代码不变,但取消暂存文件。 --force 标志简单地解决了这个问题。

我的问题是关于最佳实践的问题,因为我无法找到有关此问题的任何信息 - 应该在 git 命令中使用强制标志还是一种不好的实践

更新

我发现了我的这个问题,并且有一些见解,我对任何感兴趣的人都有用。

force 标志类似于 git(或任何类似软件)中的 yes/no 对话框。就像在做一些可能会失败或损坏的事情时,我们通常会看到 yes/no 对话框。所以 git 等同于 yes--force 这回答了我的问题,即 force 标志的使用只是一个正常的例程.

最佳答案

--force 并不意味着捕获机会尝试可能会出错的事情,而是在意识到可能的冲突的情况下强制采取行动。所以我同意使用 --force 不是一个坏习惯。

您经常想要的正是:覆盖一些 git 命令已就位的检查,以防止您做一些愚蠢的事情。如果您注意到警告并知道命令会成功,那么使用 force 并没有什么不好。参见 the docs (或命令行上的 git 帮助页面)查看每个命令覆盖的内容。

另一个用例是在从您不想或无法处理用户交互的脚本运行命令时避免确认提示。

关于GIT:应该使用武力吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19090483/

相关文章:

git - 如何恢复提交并将更改放回舞台

git - 修改文件的 Phpstorm 和预提交钩子(Hook)

git - 使 git diff --stat 显示完整文件路径

git - 返回存储库中的特定修订后提交并推送更改?

解决 cherry-pick 冲突后不允许 Git 修改

Git 禁用从本地存储库推送

git diff 将整个文件视为已更改,但未更改

python - 如何使用Python中的GitPython包在每次提交时制作GitHub存储库的副本

git - 如何使用 git filter-branch 从我的存储库中删除文件? ("you need to run this command from the toplevel of the working tree")

Git 垃圾收集似乎没有完全起作用