1、首先假设一种情苄念上妒况,我们在使用版本库,然后我们现在在“dev”分支上开发我们的代码,我们使用“git branch”命令来查看我们版本库的分支情况,可以看到我们在dev分支上,然后使用“git status”命令来看一下我们git版本库的状态,可以看到我们添加了一个名字为“python.py”的文件,如下图:
2、然后我们继续在我们的dev分支上工作,使用“git add python.py”命令来将我们新添加的文件添加到暂存区,然后使用“git status”命令来查看版本库的状态,可以看到我们已经将我们新增加的文件添加到了暂存区,如下图:
3、然后这里我们的领导交给我们一个新任务必须先完成,但是我们刚刚添加的文件还没有提交,这个时候我们就可以使用git版本库给我们的“git stash”命令了,我们使用“git stash”命令,简单来说这个命令就是把我们的工作现场给存起来,等我们有时间了再回来完成,如下图:
4、使用了“git stash”命令之后,我们再使用“git status”命令来查看我们版本库的状态发现版本库现在工作区是干净的,刚才我们还没有提交的文件也不见了,这就是“git stash”命令将我们的工作区隐藏起来的结果,如下图:
5、然后我们使用“git checkout master”命令来切换到master分支,然后使用“git status”查看版本库状态发现工作区仍收墩芬蓥然是干净的,然后我们开始处理我们领导交代的任务,我们新创建一个分支来完成领导交代的任务,使用“git checkout -b issue-101”命令来创建并转换到新的分支,如下图:
6、然后我们修改我们版本库中的文件,如下图:
7、然后我们使用“git add readme.txt”命令将修改后的文件添加到暂存区,然后使用“git status”命令查看版本库的状态,然后再使用“git commit -m "fix bug 101"”命令来提交我们的修改,如下图:
8、我们使用“git checkout master”命令来切回到master主分支上,如下图:
9、然后我们使用“git merge --no-ff -m "merge蟠校盯昂d bug fix 101&鳎溻趄酃quot; issue-101”命令来将issue-101分支和master分支进行合并,如何使用“git status”命令来查看版本库的状态可以看到工作区又变成干净的了,说明我们已经完成了领导交代的任务,接下来我们将这个“issue-101”分支使用“git branch -d issue-101”命令删除掉,如下图:
10、然后我们使用“git checkout dev”命令回到之前开发代码的分支dev,然后使用“git status”命令来查看版本库的状态,可以看到我们的工作区还是干净的,如下图:
11、但是我们之前添加到暂存区还没有提交的工作去哪里了呢,我们可以使用“git stash list”命令来查看我们的工作现场去哪里,发现我们的git版本库将我们的工作现场给存在其他地方了,如下图:
12、这里我们可以使用“git stash pop”命令来恢复我们的工作现场,这个命令在恢复我们工作现场的同时会删除所有stash,也就是说这个命令删除的同时也删除了我们之前存储的工作现场,如下图:
13、然后我们可以再次使用“git stash list”命令来查看我们的stash命令存储的工作现场,由于我们已经使用了“git stash pop”命令,已经删除了所有的stash,所以这里我们已经没有任何stash了,如下图:
14、接下来,我们就可以按照之前我们在dev分支上的状态继续工作了