如何临时断开git工作目录?

如何临时断开git工作目录?,git,version-control,Git,Version Control,我正在处理Git上的一个分支,并在这个分支上运行一个服务器。运行服务器所需的文件仅在此分支上,这意味着签出主机将删除这些文件,并需要完全重新启动,有时还需要重新安装模块(只需说重新运行需要一些时间) 我仍然想从master中提取并将其合并到我的分支中,但我不想更改工作目录 有没有办法断开工作目录的连接,这样我就可以签出master、pull、签出我的分支、合并(目前为止都在.git文件夹中),然后重新连接工作目录。您不需要签出到master。您可以简单地获取全部,然后将origin/master

我正在处理Git上的一个分支,并在这个分支上运行一个服务器。运行服务器所需的文件仅在此分支上,这意味着签出主机将删除这些文件,并需要完全重新启动,有时还需要重新安装模块(只需说重新运行需要一些时间)

我仍然想从master中提取并将其合并到我的分支中,但我不想更改工作目录


有没有办法断开工作目录的连接,这样我就可以签出master、pull、签出我的分支、合并(目前为止都在.git文件夹中),然后重新连接工作目录。

您不需要签出到master。您可以简单地获取全部,然后将origin/master合并到您的分支

# here you are in your branch
git fetch origin # or git fetch --all if needed, or just git fetch (check the doc)
git merge origin/master
但请注意,您的本地
主文件将不会更新

另一种可能性是执行以下操作:

# git fetch <remote> <sourceBranch>:<destinationBranch>
git fetch origin master:branch

出于好奇:
stash
,然后切换到master并进行合并,然后切换回
pop
,在这种情况下不是也可以吗?@Alireza的目标不是签出到master,否则,只在分支中的文件将被删除。这就是
git stash
git pop
的目的。你把所有没有承诺的事情都放在一边,做任何你喜欢的事情,然后回来做
git-pop
,一切都会回来。但是这里的解决方案是有效的,所以一切都很好。“我只是想确定我了解情况。”阿利雷扎说,他不能到另一家分行结账。我遗漏了什么吗?据我所知,他不能这样做,因为他将失去他在当前分支机构中所做的一切,而且他无法做出承诺。在这种情况下,如果我正确理解了问题,他可以执行
git stash
并签出到另一个分支,完成他的工作,回到上一个分支,然后执行
git pop
。您的解决方案是有效的,并且在这种情况下可能更加优雅。隐藏和弹出是这些情况的通用解决方案。
git fetch origin master:master