一、基本概念
git stash是一个用来保存当前工作区状态的命令。有时候我们想去处理一些紧急需求但是我们的分支上的工作并未完成。这时候我们就可以使用git stash命令将工作区的修改保存起来。git stash push就是指将修改保存起来并把stash的记录放在栈中。
二、语法和参数
git stash push [-p|--patch] [-k|--no-keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [--] [
- -p, --patch:交互地选择要保存的修改。
- -k, --no-keep-index:在应用时不保留索引,直接丢弃。
- -u, --include-untracked:将未跟踪的文件也保存起来。
- -a, --all:保存所有的修改,包括未暂存的内容。
- -q, --quiet:只报告错误,不输出其他信息。
- --:分隔参数列表和文件名列表。
- <pathspec>...:需要保存的文件名。
三、使用实例
1. 保存当前工作目录下的修改
$ echo "test content" > test.txt $ git stash push
将当前工作目录下的修改保存,并创建一个stash记录放在栈顶。
2. 保存当前分支的所有修改
$ git stash push -a
将当前分支下的所有修改保存,并创建一个stash记录放在栈顶。
3. 保存指定文件的修改
$ git stash push file1.txt file2.txt
将指定文件的修改保存,并创建一个stash记录放在栈顶。
4. 保存部分修改并进行交互式选择
$ git stash push -p
会打开一个交互式命令行界面,让你选择哪些修改应该被保存。按照提示操作即可。
四、小结
git stash push命令十分方便,可以帮助开发者处理紧急需求时的工作区状态保存。上述的实例仅仅是一些简单的命令和参数使用,但对于使用git来协同开发的程序员,git stash push将会是他们的好帮手。