Git Stash操作

Git Stash操作

假设您正在为产品实施新功能。您的代码正在进行中,突然出现了一个客户升级问题。因此,您必须暂时搁置您的新功能工作几个小时。您不能提交您的部分代码,也不能丢弃您的更改。因此,您需要一些临时空间,可以在稍后提交它。

在Git中,存储操作获取您修改过的已追踪文件,将更改暂存,并将其保存在一组未完成更改的堆栈中,您可以随时重新应用这些更改。

[jerry@CentOS project]$ git status -s
M string.c
?? string

现在,你想要切换到用于客户升级的分支,但你不想提交你所进行的工作;所以你会存储这些更改。要将新的存储推送到你的堆栈上,请运行 git stash 命令。

[jerry@CentOS project]$ git stash
Saved working directory and index state WIP on master: e86f062 Added my_strcpy function
HEAD is now at e86f062 Added my_strcpy function

现在,您的工作目录是干净的,所有更改都保存在堆栈中。让我们通过使用 git status 命令来验证一下。

[jerry@CentOS project]$ git status -s
?? string

现在您可以安全地切换分支并在其他地方工作。我们可以通过使用 git stash list 命令查看储藏的更改列表。

[jerry@CentOS project]$ git stash list
stash@{0}: WIP on master: e86f062 Added my_strcpy function

想象一下,你已经解决了客户升级问题,现在你回到了你的新功能上,正在寻找之前未完成的代码,只需执行以下命令: git stash pop 该命令会从堆栈中移除更改并将其放置在当前工作目录中。

[jerry@CentOS project]git status -s
?? string

[jerry@CentOS project] git stash pop

上述命令将产生以下结果:

# On branch master
# Changed but not updated:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
#
modified: string.c
#
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
#
string
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (36f79dfedae4ac20e2e8558830154bd6315e72d4)

[jerry@CentOS project]$ git status -s
M string.c
?? string

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程