现在,我在本地有一个凭据文件,可以在本地使用该文件来测试更改。
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答案似乎最直接,但是只有在我没有任何其他暂存的未提交文件的情况下,它才起作用。是否有解决方案,我可以做我想做的事并且仍然隐藏其他文件?
欢呼
答案 0 :(得分:1)
创建别名:
git config alias.stco "!f() { git stash && git checkout "$@" && git stash apply ; }; f"
用法:
git stco other_branch
PS。 stco
表示“存储和结帐”。