在更改分支时配置自动等效于git stash git apply

在更改分支时配置自动等效于git stash git apply,git,Git,现在我在本地有一个凭证文件,我在本地使用它来测试我的更改 set_env.py定义用于登录远程应用程序的环境变量 因为我不想实际推送凭证,所以我推送了一个虚拟文件,它基本上什么都不做(例如,环境变量应该已经在测试服务器上定义了) 但是,由于我有一个虚拟文件被推送到我的分支,因此set_env.py被认为是暂存的,我无法更改分支 git签出其他分支机构 error: Your local changes to the following files would be overwritten by

现在我在本地有一个凭证文件,我在本地使用它来测试我的更改

set_env.py定义用于登录远程应用程序的环境变量

因为我不想实际推送凭证,所以我推送了一个虚拟文件,它基本上什么都不做(例如,环境变量应该已经在测试服务器上定义了)

但是,由于我有一个虚拟文件被推送到我的分支,因此set_env.py被认为是暂存的,我无法更改分支

git签出其他分支机构

error: Your local changes to the following files would be overwritten by checkout:
    config/set_env.py
Please, commit your changes or stash them before you can switch branches.
Aborting
一个解决方案就是每次我想切换分支时都隐藏这个文件(假设我没有其他修改的暂存和未提交的文件)

然而,每当我想更改正在处理的分支时,就必须键入3个命令,这就变得很麻烦了。有没有办法告诉GIT从现在起把这个文件看作是未分级的?(下次提交时不删除文件)

编辑:@phd-answer似乎是最简单的,但是它只有在我没有任何其他未受限制的文件的情况下才起作用。有没有一个解决方案,我可以做我想做的,但仍然隐藏其他文件

干杯

创建别名:

git config alias.stco "!f() { git stash && git checkout "$@" && git stash apply ; }; f"
用法:

git stco other_branch

PS.
stco
用于“隐藏和签出”。

这似乎有效,但只有在我的分支中没有任何其他暂存的未限制文件的情况下才有可能
git stco other_branch