我正在使用临时分支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有更好的选择?即没有在路径中添加批处理文件或宏...
答案 0 :(得分:2)
git switch -C master
这将使主服务器指向当前的HEAD,保留分支具有的任何配置(例如上游),然后对该分支执行git checkout
。