Git:如何在不接触工作目录的情况下切换分支?

时间:2020-02-16 21:50:52

标签: git branch git-branch git-checkout

我正在使用临时分支foo。满意更改后,我想将master(不是当前的)移动到foo的HEAD。我认为在Git上执行此操作的常见方式是:

git checkout master
git reset --hard foo

问题在于,当我执行git checkout master时,Git会修改工作目录中的文件,而我的IDE却发疯了。我必须关闭它,然后再次打开。

我的第一个解决方法是:

git branch -D master && git checkout -b master

但是,这使我失去了master的上游设置。实际上,以下内容有效:

git branch -D master && git checkout -b master && git push --set-upstream origin master

但是命令太大。

是否仅使用Git有更好的选择?即没有在路径中添加批处理文件或宏...

1 个答案:

答案 0 :(得分:2)

git switch -C master

这将使主服务器指向当前的HEAD,保留分支具有的任何配置(例如上游),然后对该分支执行git checkout

相关问题