Я не знаю и не могу найти ни одной конфигурации, которая изменила бы, как checkout
работает таким образом.
Вы можете написать скрипт, который проверяет незафиксированные изменения и, только если их нет, вызывает checkout
. (Например, вы можете использовать git diff --quiet HEAD
для проверки того, что ваше рабочее дерево выглядит как последний коммит, плюс git diff --quiet --cached HEAD
, если вы хотите дополнительно убедиться, что вы не вносили изменения, а затем отменить их в рабочем дереве.) Затем вы можете псевдоним, который, если вы хотите, или просто вызываете его напрямую, делают «более безопасные» проверки ветвей.
Самая безопасная вещь - всегда проверять, что вы собираетесь совершить (или, по крайней мере, то, что вы собираетесь нажать; обычно вы можете довольно легко отменить коммит, если заметите, что он ошибочен, прежде чем нажать).