“git stash apply”或“git stash pop”是否还添加了修改后的提交文件?

时间:2013-09-11 12:51:09

标签: git

我在本地主分支中做了一些更改。当地的变化没有上演(补充)。 为了更新主分支,我做了以下内容:

  1. 统计了我当地的变化。
  2. git pull
  3. git stash apply
  4. 我看到在此之后本地更改上演(添加)? 它们不应该像以前一样不受影响。

2 个答案:

答案 0 :(得分:4)

git stashgit commit基本相同。它会创建一个完全成熟的提交,但不会将其添加到历史记录中。相反,它将提交添加到存储。

因此,git stash必须做出选择:提交(隐藏)全部未提及的更改,或提交(存储)添加到索引的那些。它不能两者兼顾。这将需要两次提交而不是一次。

AFAIK,git stash接受所有未经修改的更改。

答案 1 :(得分:2)

git stash 还会向本地系统添加更改,但不会将其添加到树中。您始终可以通过命令git stash list查看所有隐藏的内容。你也可以在主要内容发生变化之后添加你的藏匿内容,比如在拉动cammand等之后。我建议你按照git的原始文档来说清楚。这是http://git-scm.com/book/en/Git-Tools-Stashing