Git:如何在不接触工作目录的情况下切换分支?
我在一家临时分支机构工作。对更改感到满意后,我想将Git:如何在不接触工作目录的情况下切换分支?,git,branch,git-branch,git-checkout,Git,Branch,Git Branch,Git Checkout,我在一家临时分支机构工作。对更改感到满意后,我想将master(不是当前的)移动到foo的头部。我认为在Git上这样做的常见方式是: git checkout master git reset --hard foo 问题是,当我执行git checkout master时,git会修改工作目录中的文件,我的IDE会变得疯狂。我得把它关上再打开 我的第一个解决方法是: git branch -D master && git checkout -b master 但是它使我失去了
master
(不是当前的)移动到foo
的头部。我认为在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?i、 e.不在路径中添加批处理文件或宏
git switch -C master
这将把master移动到当前头部,保留分支的任何配置,例如其上游,然后对该分支执行
git签出。!更新分支后,我仍然需要运行git checkout
。但是我想这比删除并重新创建分支要好。或者,对于那些没有git开关的人来说,git checkout-B master
。