增城高端网站建设图片 移动网站开发
- 作者: 五速梦信息网
- 时间: 2026年03月21日 06:43
当前位置: 首页 > news >正文
增城高端网站建设,图片 移动网站开发,网络建设方案怎么做,微信app下载最新版本起始 今天在看一个bug#xff0c;之前一个分支的版本是正常的#xff0c;在新的分支上上加了很多日志没找到原因#xff0c;希望回溯到之前的版本#xff0c;确定下从哪个提交引入的问题#xff0c;但是还不想把现在的修改提交#xff0c;也不希望在Git上看到当前修改的…起始 今天在看一个bug之前一个分支的版本是正常的在新的分支上上加了很多日志没找到原因希望回溯到之前的版本确定下从哪个提交引入的问题但是还不想把现在的修改提交也不希望在Git上看到当前修改的版本带有大量日志和调试信息。因此呢查查Git有没有提供类似功能就找到了git stash的命令。 综合下网上的介绍和资料git stashgit储藏可用于以下情形 发现有一个类是多余的想删掉它又担心以后需要查看它的代码想保存它但又不想增加一个脏的提交。这时就可以考虑git stash。使用git的时候我们往往使用分支branch解决任务切换问题例如我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug我们往往会把完成一半的代码commit提交到本地仓库然后切换分支去修改bug改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码但是却不得不去修改一个紧急Bug那么使用git stash就可以将你当前未提交到本地和服务器的代码推入到Git的栈中这时候你的工作区间和上一次提交的内容是完全一样的所以你可以放心的修Bug等到修完Bug提交到服务器上后再使用git stash apply将以前一半的工作应用回来。经常有这样的事情发生当你正在进行项目中某一部分的工作里面的东西处于一个比较杂乱的状态而你想转到其他分支上进行一些工作。问题是你不想提交进行了一半的工作否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。储藏(stash)可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中随时可以重新应用。 git stash用法
- stash当前修改 git stash会把所有未提交的修改包括暂存的和非暂存的都保存起来用于后续恢复当前工作目录。 比如下面的中间状态通过git stash命令推送一个新的储藏当前的工作目录就干净了。 \( git status On branch master Changes to be committed:new file: style.cssChanges not staged for commit:modified: index.html\) git stash Saved working directory and index state WIP on master: 5002d47 our new homepage HEAD is now at 5002d47 our new homepage\( git status On branch master nothing to commit, working tree clean需要说明一点stash是本地的不会通过git push命令上传到git server上。 实际应用中推荐给每个stash加一个message用于记录版本使用git stash save取代git stash命令。示例如下 \) git stash save test-cmd-stash Saved working directory and index state On autoswitch: test-cmd-stash HEAD 现在位于 296e8d4 remove unnecessary postion reset in onResume function $ git stash list stash{0}: On autoswitch: test-cmd-stash
- 重新应用缓存的stash 可以通过git stash pop命令恢复之前缓存的工作目录输出如下 \( git status On branch master nothing to commit, working tree clean \) git stash pop On branch master Changes to be committed:new file: style.cssChanges not staged for commit:modified: index.htmlDropped refs/stash{0} (32b3aa1d185dfe6d57b3c3cc3b32cbf3e380cc6a)这个指令将缓存堆栈中的第一个stash删除并将对应修改应用到当前的工作目录下。 你也可以使用git stash apply命令将缓存堆栈中的stash多次应用到工作目录中但并不删除stash拷贝。命令输出如下 \( git stash apply On branch master Changes to be committed:new file: style.cssChanges not staged for commit:modified: index.html3. 查看现有stash 可以使用git stash list命令一个典型的输出如下 \) git stash list stash{0}: WIP on master: 049d078 added the index file stash{1}: WIP on master: c264051 Revert added file_size stash{2}: WIP on master: 21d80a5 added number to log在使用git stash apply命令时可以通过名字指定使用哪个stash默认使用最近的stash即stash{0}。
- 移除stash 可以使用git stash drop命令后面可以跟着stash名字。下面是一个示例 \( git stash list stash{0}: WIP on master: 049d078 added the index file stash{1}: WIP on master: c264051 Revert added file_size stash{2}: WIP on master: 21d80a5 added number to log \) git stash drop stash{0} Dropped stash{0} (364e91f3f268f0900bc3ee613f9f733e82aaed43)或者使用git stash clear命令删除所有缓存的stash。
- 查看指定stash的diff 可以使用git stash show命令后面可以跟着stash名字。示例如下 \( git stash showindex.html | 1 style.css | 3 2 files changed, 4 insertions()在该命令后面添加-p或--patch可以查看特定stash的全部diff如下 \) git stash show -p diff –git a/style.css b/style.css new file mode 100644 index 0000000..d92368b — /dev/nullb/style.css-0,0 1,3
{text-decoration: blink; } diff –git a/index.html b/index.html index 9daeafb..ebdcbd2 100644 — a/index.htmlb/index.html-1 1,2 link relstylesheet hrefstyle.css/6. 从stash创建分支 如果你储藏了一些工作暂时不去理会然后继续在你储藏工作的分支上工作你在重新应用工作时可能会碰到一些问题。如果尝试应用的变更是针对一个你那之后修改过的文件你会碰到一个归并冲突并且必须去化解它。如果你想用更方便的方法来重新检验你储藏的变更你可以运行 git stash branch这会创建一个新的分支检出你储藏工作时的所处的提交重新应用你的工作如果成功将会丢弃储藏。 $ git stash branch testchanges Switched to a new branch testchanges
On branch testchanges
Changes to be committed:
(use git reset HEAD file… to unstage)
#
modified: index.html
#
Changes not staged for commit:
(use git add file… to update what will be committed)
#
modified: lib/simplegit.rb
# Dropped refs/stash{0} (f0dfc4d5dc332d1cee34a634182e168c4efc3359)SHELL 复制 全屏 这是一个很棒的捷径来恢复储藏的工作然后在新的分支上继续当时的工作。
- 暂存未跟踪或忽略的文件 默认情况下git stash会缓存下列文件 添加到暂存区的修改staged changesGit跟踪的但并未添加到暂存区的修改unstaged changes 但不会缓存一下文件 在工作目录中新的文件untracked files被忽略的文件ignored files git stash命令提供了参数用于缓存上面两种类型的文件。使用-u或者–include-untracked可以stash untracked文件。使用-a或者–all命令可以stash当前目录下的所有修改。 至于git stash的其他命令建议参考Git manual。
- 上一篇: 怎样做一家网站wordpress自适应代码
- 下一篇: 增城网站建设虚拟主机+wordpress
相关文章
-
怎样做一家网站wordpress自适应代码
怎样做一家网站wordpress自适应代码
- 技术栈
- 2026年03月21日
-
怎样做一个网站赚钱吗做物流的用什么网站配货
怎样做一个网站赚钱吗做物流的用什么网站配货
- 技术栈
- 2026年03月21日
-
怎样做信息收费网站烟台福山建设规划局网站
怎样做信息收费网站烟台福山建设规划局网站
- 技术栈
- 2026年03月21日
-
增城网站建设虚拟主机+wordpress
增城网站建设虚拟主机+wordpress
- 技术栈
- 2026年03月21日
-
增加访客的网站集团网站建设策划方案
增加访客的网站集团网站建设策划方案
- 技术栈
- 2026年03月21日
-
闸北区网站建设网页制微信营销是什么
闸北区网站建设网页制微信营销是什么
- 技术栈
- 2026年03月21日
