git stash (pycharm/vscode的gui演示)

  • 场景
  1. 代码刚写到一半,发现线上bug需要马上修改部署上线
  2. 此时手头的代码写一半,提交根本跑不动甚至影响原来的业务了
  3. 回滚就白瞎搬了好几小时的砖了
  • 好的实践(git分支管理比较规范时)
  1. 每个功能或bug修复都从主干创建一个分支
  2. 开发完成后合并回主干
  3. 遇到上述情况时,当前分支代码保存本地(开发当前功能是从主干拉取的)
  4. 从主干重新拉取一个分支修改后合并
  5. 切换回开发到一半的分支继续开发
  • 当项目很小,参与人员1-2人时,维护分支较为繁琐,只在一个分支上开发时
  1. 使用git stash暂存(未提交的代码放在暂存区中)
  2. 修复bug,部署上线
  3. 使用git unstash从暂存区中取出未完成代码,继续开发
  • 以下结合pycharm和vscode的gui操作演示

pycharm

  1. 暂存当前未提交代码

点击"Git">"Uncommitted Changes">"Stash Changes..."

  1. Message中填入信息(用于还原选择),点击"Create Stash",就可以看到刚写的代码没掉了

  1. 在当前分支修改代码,然后提交

  2. 重新获取暂存代码

点击"Git">"Uncommitted Changes">"Unstash Changes..."

  1. 选择对应暂存记录,点击"Apply Stash"即可还原代码

vscode

  1. 暂存当前未提交代码

点击"Git"图标 > 提交界面右上角的"..." > "Stash" > "Stash"

  1. 在弹窗中填入暂存名称后回车

  1. 在当前分支修改代码,然后提交

  2. 重新获取暂存代码

点击"Git"图标 > 提交界面右上角的"..." > "Stash" > "Apply Stash"/"Pop Stash"

区别就是Pop会删除记录,Apply不删除,Latest是最后一次,带"..."就会弹窗选择一个

git stash (pycharm/vscode的gui演示)的更多相关文章

  1. Git for PyCharm

    Git for PyCharm Using PyCharm's Git integration locally:http://confluence.jetbrains.com/display/PYH/ ...

  2. Git综合使用命令行和gui工具小结

    使用Git的时候,综合使用命令行和gui工具,可以把Git用的最舒服,因此这里总结下使用gui和命令行的一些对应操作, gui中拉取:git pull origin dev_branch gui中推送 ...

  3. git stash命令详解

    git stash命令用于将更改储藏在脏工作目录中. 使用语法 git stash list [<options>] git stash show [<stash>] git ...

  4. Git-命令行-使用 git stash 暂存代码

    为什么我们需要它不得不说,在知道这个命令的时,以及之后的使用中,我都超级热爱这个命令,因为它真的太好用了. 给大家说一下我使用这个命令的场景: 此时我在 feature_666 分支,非常聚精会神加持 ...

  5. Git Stash紧急处理问题,需要切分支

    在开发过程中,大家都遇到过bug,并且有些bug是需要紧急修复的. 当开发人员遇到这样的问题时,首先想到的是我新切一个分支,把它修复了,再合并到master上. 当时问题来了,你当前正在开发的分支上面 ...

  6. git stash 用法

    git stash用于将当前工作区的修改暂存起来,就像堆栈一样,可以随时将某一次缓存的修改再重新应用到当前工作区. 一旦用好了这个命令,会极大提高工作效率.   直接举例说明: 1.准备工作,首先初始 ...

  7. git stash和git stash pop

    git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug,  先stash, 使返回到自己上一个comm ...

  8. git stash -u 添加新文件

    git 提交 有新文件执行    git stash -u ------ 如果已经执行git stash,会发现有UNtracked这个单词 说明新文件没有添加进去,此时 执行  git stash ...

  9. 每天一命令 git stash

    git stash  命令是用于保存当前进度的命令.该命令会保存当前工作区的改动.保存的改动是已经跟踪的文件的改动,对于未跟踪的改动stash是不会保存的. git stash 命令常用于分支切换的 ...

  10. git stash提交PR的正确步骤&git squash技术

    1.git stash梳理 1.1git stash的克隆与同步 首先整理下git stash的逻辑是这样 在本地做出了新的修改,提交时显示当前的版本不是最新版本,这时就需要先pull一下自己代码仓库 ...

随机推荐

  1. 32位机转化11位手机号以及BLE与USB的切换

    目录 用现有的资源,去实现本应该用更多资源来实现的需求,是一件很有意思的事情.不是说提倡这样使用,而是换一种思路解决问题比较新奇,或是在很多限制既定的情况下可以应急. 比如说,582m芯片,默认用32 ...

  2. 087_VS load codes for Salesforce

    1. 下载VShttps://code.visualstudio.com/ ,安装后:Extensions 安装Salesforce Extension Pack .Salesforce Packag ...

  3. gulp安装出错

    gulp安装出错 标签(空格分隔): gulp 贴上报错: [root@localhost web]# npm install gulp --save-dev gulptest@1.0.0 /mnt/ ...

  4. 「postOI」Colouring Game

    题意 有 \(n\) 个格子排成一行,一开始每个格子上涂了蓝色或红色. Alice 和 Bob 用这些格子做游戏.Alice 先手,两人轮流操作: Alice 操作时,选择两个相邻的格子,其中至少要有 ...

  5. UPPER VSCODE

  6. 使用ms17-010对win7进行渗透(445永恒之蓝)

    永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含"永恒之蓝"工具,"永恒之蓝"利用Wind ...

  7. centos7本地yum配置和使用

    1.打开centos的yum文件夹 输入命令cd  /etc/yum.repos.d/ 2.用wget下载repo文件 输入命令wget  http://mirrors.aliyun.com/repo ...

  8. U盘启动安装 Centos 出错记录(Reached target Basic System)

    背景 在实体机上使用U盘安装CentOS7.0操作系统,U盘刻成引导盘,BIOS调成U盘启动,选择Install CentOS 7,系统安装卡在Reached target Basic System界 ...

  9. mybatis-plus主键生成策略(实体类配置,数据库插入数据自动生成id)

    转载:MyBatisplus -- ActiveRecord(AR)_mybatisplus idtype.auto_憨憨浩浩的博客-CSDN博客 0.auto:自动增长(mysql,sql serv ...

  10. mysql 优化表空间报错Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again

    背景:mysql数据库中有几个表的碎片率太高,浪费了存储空间且降低了读写效率,需要整理. mysql版本:5.6 先用optimize table 试试. 也执行了很久.但是结束后,data_free ...