Git 签出远程分支后,是否有方法从本地分支的暂存区域取回尚未提交的文件?

Git 签出远程分支后,是否有方法从本地分支的暂存区域取回尚未提交的文件?,git,Git,如果我在本地分支上,则使用git add-A将所有更改添加到临时区域,但不提交,然后签出到远程分支。有没有办法回到我的本地暂存区?Git流量仅在提交中。作为一项规则,任何没有承诺的事情都可能会失去 切换分支通常会覆盖临时区域。它通常也会覆盖工作区域,因此不首先提交就切换分支通常是不可取的 但是如果您修改了工作区中的文件并在没有提交的情况下切换了分支,那么如果Git允许,这些文件仍然在工作区中,您可以添加它们。Git不会覆盖未提交的更改,除非您告诉它。这些更改是否仍存在于临时区域中?当我在本地分支

如果我在本地分支上,则使用
git add-A
将所有更改添加到临时区域,但不提交,然后签出到远程分支。有没有办法回到我的本地暂存区?

Git流量仅在提交中。作为一项规则,任何没有承诺的事情都可能会失去

切换分支通常会覆盖临时区域。它通常也会覆盖工作区域,因此不首先提交就切换分支通常是不可取的


但是如果您修改了工作区中的文件并在没有提交的情况下切换了分支,那么如果Git允许,这些文件仍然在工作区中,您可以添加它们。Git不会覆盖未提交的更改,除非您告诉它。

这些更改是否仍存在于临时区域中?当我在本地分支上运行“Git status”时,它会显示working tree clean,因此我猜不会。如果更改不在临时区域中,则不会。更改已消失。他们不在暂存区,也没有被提交。仔细检查您的文本编辑器,看看更改是否仍然存在?“工作树清理”并不意味着它们不存在。请注意,如果您有一堆与提交文件不同的暂存文件,
git checkout
通常会拒绝签出另一个分支。如果允许签出,则另一个分支具有这些文件的“相同版本”。看见正如我的长篇回答所指出的,这有时可能会忽略一个事实,即内容是分阶段进行的,尽管只要您没有强制签出,内容就在某些提交中的某个位置。