配置自动等效于git stash git更改分支时适用

时间:2018-10-05 10:17:12

标签: git

现在,我在本地有一个凭据文件,可以在本地使用该文件来测试更改。

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

由于我不想实际推送凭据,因此推送了一个虚拟文件,该虚拟文件基本上不执行任何操作(例如,应该在测试服务器上定义了环境变量)。

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

git checkout other_branch

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

一种解决方案是在每次我要切换分支时都存储该文件(假设我没有其他修改的暂存和未提交的文件)

git stash
git checkout other_branch
git stash apply

但是,每次要更改我正在处理的分支时,必须键入3个命令变得很麻烦。从现在开始,是否有办法告诉git将这个文件视为未登台? (无需在下次提交时删除文件)

编辑:@phd答案似乎最直接,但是只有在我没有任何其他暂存的未提交文件的情况下,它才起作用。是否有解决方案,我可以做我想做的事并且仍然隐藏其他文件?

欢呼

1 个答案:

答案 0 :(得分:1)

创建别名:

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

用法:

git stco other_branch

PS。 stco表示“存储和结帐”。