编程基础:GIT之stash一

111 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情

有时,当我们在 git 中对项目进行更改时,我们突然意识到我们需要恢复到我们项目的最后一个干净的工作目录版本——这意味着没有应用本地更改的版本。

例如,假设您最近将项目的一个版本克隆或拉到本地计算机,并对三个文件进行了一些本地更改。要将您的项目恢复到您克隆或拉取的版本,您可以运行以下命令:

git stash

这将通过将它们存储在安全的地方来保存您的更改,并恢复到您的项目的干净版本,然后您可以继续保存、编辑或做任何您喜欢的事情。

大多数人都知道他们可以使用 来做到这一点git stash,但git stash我们也可以做一些其他的事情。说到git stash,您应该了解一些非常有用的命令:

  • git stash list
  • git stash show
  • git stash apply
  • git stash pop
  • git stash push
  • git stash clear
  • git stash drop

列出或显示所有 Git 存储更改

虽然我们可以轻松地使用它git stash来清理我们的工作树,但我们也可以使用以下命令查看所有存储:

git stash list

有趣的是,这将显示过去发生的多个存储。因此,Git 存储所有的存储,以备将来检索它们。例如,这是一个有很多存储的项目,运行后git stash list:

stash@{0}: WIP on master: abf89a3 feat-ui: updated look and feel stash@{1}: WIP on master: 39329d5 feat-ui: Updated CSS Quiz Button stash@{2}: WIP on master: 46bc7aa feat-ui: Bug fix on article API stash@{3}: WIP on master: 5dafc53 feat-ui: Fixed issue with secondary-navigation overflow

所有藏品都存储在ref/stash文件夹内的.git文件中。git stash还可以通过以下方式查看更详细的最新视图git stash show:

common.js | 405 +-------------------------------------------------------- public/quiz.js | 267 +------------------------------------

虽然这对某些人来说很好,但可以通过运行以下命令来显示包括代码级别更改在内的更详细的视图:

git stash show -p

git stash show还有一些其他有用的选项:

  • -u或者--include-untracked,显示git show存储中未跟踪的文件,即git stash show -u
  • --only-untracked, 仅显示git show存储中未跟踪的文件,即git stash show --only-untracked