Git checkout切换分支不再自动暂存本地修改,如何重新启用该功能?
Git分支切换自动暂存功能恢复方案
你描述的自动暂存切换分支的能力是Git原生提供的checkout.autostash配置项控制的功能,开启后切换分支时Git会自动暂存未提交修改,切回原分支时自动恢复对应修改,无需手动执行stash相关命令。功能失效大概率是该配置被意外重置。
操作步骤
1. 检查当前配置状态
在终端运行以下命令查看当前配置值:
git config --get checkout.autostash
如果输出为空或者false,说明该功能处于关闭状态。
2. 按需求开启功能
根据你的使用场景二选一执行即可:
- 全局生效(本地所有Git仓库都启用该功能):
git config --global checkout.autostash true - 仅当前项目生效(仅对当前所在的Git仓库生效):
git config checkout.autostash true
3. 功能验证
开启后可按如下流程测试:
- 在特性分支修改任意未被忽略的文件,不需要提交
- 执行
git checkout master切换到主分支,验证主分支工作区无该修改 - 切回特性分支,验证之前的修改自动恢复,即功能正常运行
注意事项
- 该配置同时对
git checkout和Git 2.23版本后新增的git switch命令生效 - 如果待切换的两个分支对同一个修改文件存在内容冲突,自动暂存流程会中断,Git会提示你手动处理冲突后再切换分支,属于正常保护逻辑,并非功能失效
内容的提问来源于stack exchange,提问作者Putin Vladimirovic
相关产品推荐
相关产品推荐

