网站动态页面,河南电商网站设计,重庆沙坪坝火车站,可以登陆的wordpress目录 1#xff0c;介绍场景1#xff1a;场景2#xff1a; 2#xff0c;常用命令2.1#xff0c;基础2.2#xff0c;进阶1#xff0c;存储时指定备注2#xff0c;通过索引来操作指定的存储3#xff0c;修改存储规则 2.3#xff0c;查看 stash 修改的具体内容 1#xf… 目录 1介绍场景1场景2 2常用命令2.1基础2.2进阶1存储时指定备注2通过索引来操作指定的存储3修改存储规则 2.3查看 stash 修改的具体内容 1介绍
场景1
如果正在A分支做开发但 B 分支的代码测出bug需要修改所以需要从A分支切换到B分支。
此时可这样处理在A分支 add commit 之后再切换到 B 分支。但这样做有2个问题
增加了不必要的 commit虽然之后可以通过 git commit --amend 来修改A 分支的功能写了一半此时 commit到时再切换回 A 分支时还得查看 commit 才能知道之前修改的内容比较麻烦。
场景2
在 A 分支开发到一半发现使用错分支了应该在 B 分支开发需要将当前已修改的内容得全部平移到B分支同时不影响当前分支和版本库。 上面的情况最好用的办法就是 stashes 存储栈它的所有操作不会影响到版本库。
2常用命令
stashes 存储栈遵循后进先出。
2.1基础
# 查看帮助所有命令列表
git stash -h# 将当前工作区和暂存区的代码存储到 stashes栈中。
git stash# 取出最近的一条 stash并在 stashes 栈中删除。
git stash pop
# 取出最近的一条 stashstashes 栈中不删除。
git stash apply# 不取出直接在 stashes 栈中删除最近的一条 stash
git stash drop所以git stash pop git stash apply git stash drop
# 查看 stashes 列表
git stash list# 清空 stashes 栈
git stash clear所以
场景1可以直接在 A 分支执行 git stash在 B 分支开发完之后再切换到 A 分支执行 git stash pop 即可。
场景2可以直接在 A 分支执行 git stash切换到 B 分支后执行 git stash pop 即可。
2.2进阶
1存储时指定备注
git stash save 测试stash
# or
git stash push -m 测试stash2通过索引来操作指定的存储
# 操作 stash{1}
git stash pop 1
# or 这里一定要加引号否则报错。
git stash pop stash{1}git stash apply 和 git stash drop 同理。 3修改存储规则
默认存储规则不包括工作区新增文件未被跟踪的文件和 .gitignore 忽略的文件包括工作区和暂存区的修改。
-u 或 --include-untracked 表示包括未被跟踪的文件。
git stash save 备注 -u-a 或 --all 表示包括 .gitignore 忽略的文件。
git stash save 备注 -a-k 或 --keep-index 表示不包括暂存区的修改。
git stash save 备注 -k2.3查看 stash 修改的具体内容
查看命令 git stash show 并没有介绍是因为 vscode 自带的版本管理非常好用可以详细的查看每个 stash 做了哪些修改。
可以看到不止是 stashes每条 commit 也能随时查看。 以上。