git 分支使用场景①

场景:

git checkout master 之后,发现有一个 issue53 需要解决,于是又新建了一个分之 iss53, 解决 iss53 的过程中,突然有一个更紧急的bug需要修复,但是 iss53 已经进行到一半,如果有文件改动有冲突的话我们是无法 checkout 回 master 的,而我不想现在就提交 iss53 所做的修改,我希望去修复那个更紧急的 bug 之后再来接着处理 iss53

解决:

  1. 在 iss53 分之下执行命令:
    git stash
    简单理解的话,就是把所做的改动隐藏起来,这样我们就可以 checkout 回 master 分支了

  2. checkout 回 master 分支
    git checkout master

  3. 新建一个 hotfix 分支用来解决这个紧急bug
    git checkout -b hotfix
    然后改这改那,改完之后提交...

  4. 再 checkout 回 master 分支,合并 hotfix 分支
    git checkout master
    git merge hotfix

  5. 可选,删除 hotfix 分支,因为 master 分支已经与 hotfix 分支一致
    git branch -d hotfix

  6. checkout 回 iss53 分支,接着解决这个问题,但是第一步我们已经将之前的改动隐藏起来了,这里就需要把那些改动还原(将之前修改的部分重新应用),然后接着进行
    还原: git stash apply 默认应用最近的一次 stash

git stash list # 所有的 stash
git stash apply stash-name # 指定应用的stash

就这样。

关于 git stash

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容