首页 > 解决方案 > 当有未跟踪的修改时,如何防止在 git 中切换分支?

问题描述

如果我有未提交的更改会被结帐覆盖,Git 不允许切换到另一个分支。

如果更改不冲突,Git 将允许切换到另一个分支。

即使更改不会被覆盖,是否有办法阻止切换分支?我想防止未提交的更改意外提交到错误的分支。

谢谢, 埃亚尔

标签: git

解决方案


我不知道也找不到任何会改变checkout以这种方式工作的配置。

您可以编写一个脚本来检查未提交的更改,并且只有在没有更改时才调用checkout. (例如,您可以使用它git diff --quiet HEAD来验证您的工作树看起来像最后一次提交,另外,git diff --quiet --cached HEAD如果您还想确保您没有暂存更改,然后在工作树中撤消它们。)然后您可以根据需要使用别名,或者直接调用它,进行“更安全”的分支检出。

最安全的做法是始终检查您将要提交的内容(或者,至少,您将要推送的内容;如果您在推送之前发现提交有误,通常可以很容易地撤消提交)。


推荐阅读