GIT中存储与文件之间的区别

use*_*515 14 git-stash git-stage

当我需要在签出到另一个分支之前从一个分支保存我的更改时,git有时会说:在您可以签出到另一个分支之前暂存或提交文件.但我建议使用存储选项,以便:

  1. 在签出到另一个分支之前,暂存文件不足以保存我的文件?

  2. stage和stash文件有什么区别?

谢谢

may*_*ayo 31

1.-超过"保存"你的文件,就像Git期望的那样根据他们的流程.(建议,Git知道:))

2.- Stash会将修改后的文件移动到堆栈中.因此,稍后在相同或另一个分支中,您将能够将它们带回来并在项目中查看这些修改.

Stage是提交之前的步骤,您将修改后的文件添加到"Staged files"以创建下一个提交.


现在,你用文件存储你的文件

$git stash
Run Code Online (Sandbox Code Playgroud)

并添加文件(阶段)

$git add
Run Code Online (Sandbox Code Playgroud)


现在,为什么更好地存储您的更改而不是暂存它们?也许这部分文档可以解决您的疑虑:来自文档:

积攒:

通常,当你一直在处理你的项目的一部分时,事情处于混乱的状态,你想要切换一些分支来处理其他事情.问题是,你不想做半完成工作的提交,这样你以后就可以回到这一点.这个问题的答案是git stash命令.

请参阅以下链接:

  • 如果您的文件是"新的",那么在您添加**之前,它们不会被git跟踪.之后,git知道这些文件并可以存储它们. (2认同)

Ahm*_*dYo 5

最好询问 stash 与 commit 之间的区别,而不是 stash 与 stage 之间的区别。

您无法在更改之前commitstash当前更改之前签出到另一个分支。

因此,如果您不想提交更改,并且还想签出到另一个分支,解决方案是stash当前更改,签出到另一个分支。返回第一分行后即可申请stashed changes