Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git是隐藏所有更改还是只隐藏未提交的更改_Git - Fatal编程技术网

git是隐藏所有更改还是只隐藏未提交的更改

git是隐藏所有更改还是只隐藏未提交的更改,git,Git,如果我使用git保存更改,它将只保存未提交的文件,还是将保存所有未推送到git的文件?您的问题的答案是git将保存所有未提交到本地分支的文件 当您执行一个git stash时,它实际上会进行两次临时提交。第一个包含已暂存的文件(即通过对其执行git add)。第二个文件实际上包含您的工作目录文件 当您执行git stash apply时,git将恢复工作目录。但是,如果您执行了git stash apply--index,那么它也会尝试恢复索引(即暂存文件) 因此,git stash会清理记录板

如果我使用git保存更改,它将只保存未提交的文件,还是将保存所有未推送到git的文件?

您的问题的答案是git将保存所有未提交到本地分支的文件

当您执行一个
git stash
时,它实际上会进行两次临时提交。第一个包含已暂存的文件(即通过对其执行
git add
)。第二个文件实际上包含您的工作目录文件

当您执行
git stash apply
时,git将恢复工作目录。但是,如果您执行了git stash apply--index,那么它也会尝试恢复索引(即暂存文件)


因此,
git stash
会清理记录板,并使stage和工作目录保持最近提交时的状态。

它将隐藏工作目录的脏状态,特别是跟踪已修改的文件和已提交但尚未提交的更改


没有必要保存提交的文件,因为它们已经提交。因此,如果“push to git”是指已推送到镜像/原始repo的本地提交,它们也不会被保存(因为它们已经提交)。

来自
git stash
文档:

隐藏会获取工作目录的脏状态,即修改的跟踪文件和暂存更改,并将其保存在未完成更改的堆栈中,您可以随时重新应用这些更改