当前播放: 27 | 开发中临时加塞了紧急任务怎么处理?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:Git基础 (13讲)
01 | 课程综述
免费
02 | 安装Git
免费
03 | 使用Git之前需要做的最小配置
免费
04 | 创建第一个仓库并配置local用户信息
05 | 通过几次commit来认识工作区和暂存区
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变历史
08 | gitk:通过图形界面工具来查看版本历史
09 | 探密.git目录
免费
10 | commit、tree和blob三个对象之间的关系
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事项
13 | 进一步理解HEAD和branch
第二章:独自使用Git时的常见场景 (16讲)
14 | 怎么删除不需要的分支?
15 | 怎么修改最新commit的message?
免费
16 | 怎么修改老旧commit的message?
17 | 怎样把连续的多个commit整理成1个?
18 | 怎样把间隔的几个commit整理成1个?
19 | 怎么比较暂存区和HEAD所含文件的差异?
20 | 怎么比较工作区和暂存区所含文件的差异?
21 | 如何让暂存区恢复成和HEAD的一样?
22 | 如何让工作区的文件恢复为和暂存区一样?
23 | 怎样取消暂存区部分文件的更改?
24 | 消除最近的几次提交
25 | 看看不同提交的指定文件的差异
26 | 正确删除文件的方法
27 | 开发中临时加塞了紧急任务怎么处理?
免费
28 | 如何指定不需要Git管理的文件?
29 | 如何将Git仓库备份到本地?
第三章:Git与GitHub的简单同步 (4讲)
30 | 注册一个GitHub账号
31 | 配置公私钥
32 | 在GitHub上创建个人仓库
33 | 把本地仓库同步到GitHub
第四章:Git多人单分支集成协作时的常见场景 (5讲)
34 | 不同人修改了不同文件如何处理?
35 | 不同人修改了同文件的不同区域如何处理?
36 | 不同人修改了同文件的同一区域如何处理?
37 | 同时变更了文件名和文件内容如何处理?
38 | 把同一文件改成了不同的文件名如何处理?
第五章:Git集成使用禁忌 (2讲)
39 | 禁止向集成分支执行push -f操作
40 | 禁止向集成分支执行变更历史的操作
第六章:初识GitHub (6讲)
41 | GitHub为什么会火?
42 | GitHub都有哪些核心功能?
免费
43 | 怎么快速淘到感兴趣的开源项目?
44 | 怎样在GitHub上搭建个人博客
45 | 开源项目怎么保证代码质量?
46 | 为何需要组织类型的仓库?
第七章:使用GitHub进行团队协作 (10讲)
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code review?
53 | 团队协作时如何做多分支的集成?
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub上?
56 | 怎么给项目增加详细的指导文档?
第八章:GitLab实践 (6讲)
57 | 国内互联网企业为什么喜欢GitLab?
免费
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code review?
61 | GitLab上怎么保证集成的质量?
62 | 怎么把应用部署到AWS上?
27 | 开发中临时加塞了紧急任务怎么处理?

27 | 开发中临时加塞了紧急任务怎么处理?

苏玲
携程代码平台负责人
全集18929
新人首单 ¥9.9 原价 ¥68
5
登录 后留言

精选留言(31)

  • 小美
    老师 有两个问题请教下
    1.stash pop apply 能不能指定 stash 栈中的某个 对象 (比如stash 了 5个 ,想取第二个 来恢复)
    2.stash 回来如果冲突了,要怎么办呢?

    作者回复: 第1问: git stash list 命令显示的最左一列就是stash的序号,如stash@{2} 和 stash@{1},序号中数字大的代表的是较早的stash。我们pop的时候可以加具体的序号,不加序号的(缺省情况下)为 stash@{0}。

    用法:git stash pop stash@{2}
                git stash pop = git stash pop stash@{0}
                

    2018-12-19
    11
  • Demo_o
    关于git stash的疑问

          假设我在一个feature分支上开发新功能,此时boss突然要我修复bug。
    使用git stash,然后切回dev分支修复bug,commit之后再切回feature分支,unstash回来。
    那么unstash回来的代码只是我上次stash时候的内容,那个时候我还没有修复这个Bug。所以xxx.java的内容不会包含你修复那个Bug的内容。

    这种情况下,我想要的效果是 unstash之后 feature分支上的代码即包括我新增代码又修复了bug。怎么办?

    作者回复: 好问题。比较不麻烦的做法,分两步走。

    1)在feature分支上,先把dev上修复bug的那个commit 执行cherry-pick。

    2)再git stash pop继续开发。

    2019-03-09
    9
  • MQ
    建议增加如cherry-pick,以及rebase与master差别的课程

    作者回复: 好主意。以后通过其他途径补充吧

    2019-03-03
    1
    7
  • OzoraTsubasa
    老师 针对临时紧急出现的问题 最好的方式应该是在分支上在拉出一个分支来处理紧急任务和Bug,处理完之后的分支合并到主分支上,然后开发人员拉取主分支上的代码到本地仓库中。。
    2018-12-21
    7
  • git stash 把当前工作区的内容放入暂存区
    git stash pop 把暂存区的内容恢复到工作区,且删除
    git stash apply把暂存区的内容恢复到工作区,且保留

    这个用的也少,几乎都是新拉分支,老分支提交上就行,两个分支互不影响。
    2020-03-01
    1
    4
  • OzoraTsubasa
    老师 git rm file_path 命令是同时删除的工作区的文件和暂存区的文件吗
    2018-12-21
    3
  • ZhenFuture
    不过确实存在一个这样的需求,就是工作干到一半,但不想commit因为还没完成。赞教程。
    2019-03-13
    2
  • 孙杏
    使用git stash命令将index文件暂存起来之后,在index文件中修复“bug“,提交之后用命令git stash pop恢复之前工作区中的内容时,出现冲突这种情况要怎么修改,是根据目前的工作内容吗

    作者回复: 这个要根据你自己的场景来决定怎么修改。根据项目的需要修改内容,然后去掉类似下面的冲突的标识行就可以。
    <<<<<<< Updated upstream
    文件内容
    =======
    文件内容
    >>>>>>> Stashed changes

    2019-03-31
    1
  • 一步
    老师,我发现执行 git stash 后,在 .git 文件中的 /refs/ 文件夹下会有一个 stash 文件。这个文件的内容始终是一个 hash 只、值(不论stash list 有几个),这个hash值代表什么呢? 怎么理解呢?

    作者回复: 啊,没啥时间看纳。建议你用git cat-file -p “stash文件里面的hash值” 这个命令先琢磨一下吧

    2019-01-27
    1
  • Daniel
    我觉得前面讲的都很好,而且课程长度把控很好,每个知识点讲的也很到位,一点都不拖沓。而且真的是很能让人一下子就理解了
    2018-12-30
    1
  • 时间是最真的答案
    git stash默认情况缓存以下文件:
         git跟踪的但未添加到暂存区的修改
         添加到暂存区的修改
    不会缓存以下文件:
          在工作目录中的新文件
          被忽略的文件
    2018-12-27
    1
  • 时间是最真的答案
    前面大部分课程有一个缺点:命令讲的不够详细

    作者回复: 嗯,内容实在太多,一上来讲太多了,反而容易把人弄懵。所以做了取舍,把最最常用的先讲掉吧

    2018-12-27
    1
  • mickey
    请问,如果修改了index.html后,来了紧急任务,执行stash,然而任务也是改index.html,改完紧急任务commit后,stash pop回来,index.html 冲突了怎么办?
    谢谢。
    2018-12-19
    1
  • BigSpinach
    经过实际测试,假如工作区,暂存区,HEAD中的内容都不一致,如果执行了git stash命令,猜测会先把工作区中的内容找个地方存放(我自定义这个区域为存放区^_^),然后系统会执行git reset --hard HEAD命令。如果再执行git stash pop命令,会把工作区中的内容恢复成存放区中的内容,同时把存放区中的这条记录清空。总的来说,如果这么执行,暂存区中的内容会变成和HEAD一致。不知道这么理解是否正确?
    2020-08-17
  • 老师,我可否在一个分支git stash, 而切换到另一个分支git pop。
    因为我有几次发生了这样的场景:
          我写了一会代码,发现当前竟然是在master分支,现在我想把我这一次写的代码 放到dev分支里去。要怎么办呢?

    有两个问题:
    1. 是否我在master分支git stash,, 再切换到dev分支 git pop。这样就可以了?
    2. 是否有别的更好的方案。

    作者回复: 不推荐在不同分支用stash。你拿个测试项目验证一下为什么吧。我测试下来,同分支的会在变更的地方标识出文件冲突,有了分叉的分支,pop出来后全文冲突。

    你这种情况下,我感觉用patch的方法可行。
    或者稍微折腾一点的,先在master分支生成一个commit,切到dev后,用cherry pick方法,然后master再reset回退。

    2020-07-26
  • 松松
    查到git stash pop只恢复工作区,git stash pop --index会把暂存区也恢复。
    2020-06-03
  • 落曦
    git stash 将手头正在修改的东西先存起来放到一边去处理紧急任务
    git stash apply第一个作用将之前git stash存放的内容弹出来 把他的东西放到工作区去
    第二个使用git stash list查看链表里的内容还在可以进行反复使用
    git stash pop 和stash的区别 pop中list不保留 apply保留
    2020-04-19
  • 闫树科
    stash 回来如果冲突了,要怎么办呢?
    2020-03-13
  • heyatzw
    请教一下,如果stash后切换了分支,在别的分支执行pop会自动切换回原来的分支吗。
    2020-03-13
    1
  • Qiubh
    这个Stash应该是临时加塞的任务跟目前开发中的文件有冲突的时候才使用吧?如果临时加塞的任务涉及的文件没有冲突的话,是不用Stash的吧?
    2020-03-10
收起评论
看过的人还看
数据结构与算法之美

王争  前Google工程师

80讲 | 92598 人已学习

新人首单 ¥19.9 原价 ¥129
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

49讲 | 60840 人已学习

新人首单 ¥19.9 原价 ¥129
左耳听风

陈皓  网名“左耳朵耗子”,资深技术专家,骨灰级程序员

109讲 | 47174 人已学习

新人首单 ¥69.9 原价 ¥299
趣谈网络协议

刘超  网易研究院云计算技术部首席架构师

51讲 | 46622 人已学习

新人首单 ¥19.9 原价 ¥99