• git使用之 后悔药--reset、stash、cherry-pick


    1.工作区的代码想撤销

    背景:有时候编写了一大段代码之后,想要撤销更改(执行add操作之前),

     命令:git checkout -- <file路径>

    使用git checkout -- 命令可以查看更改文件路径

    ➜ bm-fe git:(tmptest) ✗ git checkout --
    M src/management.vue
    M config/index.js

    再执行git checkout -- src/management.vue即可

    2.add到暂存区的代码想撤销

    背景:执行add,未执行commit

    步骤:

    1.将暂存区的代码撤销到工作区  命令:git reset head
    2.将工作区的代码撤销(具体操作和’工作区的代码想撤销’一致)   命令:同【1.工作区的代码想撤销】

    3.提交到本地仓库的代码想撤销

    命令:git reset --hard head

      git reset --hard <版本号>

    版本号查看:git log

    4.本地更改暂存

    背景:更改部分代码之后,不想立刻提交;或者 正在处理一个需求的时候,需要紧急修复本项目的另一个bug,但是本次代码又不想修改

    命令: 1.git stash save '暂存标识,比如:新增登录页面' 可将本分支本次更改暂存到git栈中。

      2. git stash list 查看git栈中所有暂存,出现list,如stash{0}: ...'暂存标识',stash{1}:...other stash...

      3. git stash apply stash{n}  找到你要继续编辑的更改 应用即可(n为list中的stash编号)

    注意: 如果新建了文件,使用git stash save 命令,将无法暂存新建的文件,若此时再切换到其他分支,会把该部分文件,一同带到新分支,且查看不出diff。解决方案:

        使用命令 1)git add .

            2)git stash save   '暂存标识'

    5.cherry-pick合并其他分支的commit

    背景:做新需求时,忘记新建分支,直接在非生产分支上作出更改(比如commit:x100abcd),且可能更改处较多。

      这种情况下,可以 1.在生产分支新建,再挨个儿对比 commit x100abcd 的diff,把更改在新分支上重写一遍;

              2.使用cherry-pick

    命令: 1. git cherry-pick x100abcd(如果要合并多个commit,可以空格隔开即可)

      2. git commit,git push

    具体关于cherry-pick的更多用法,待续

    --待续

    一点一滴累积,总有一天你也会成为别人口中的大牛!
  • 相关阅读:
    MariaDB Spider 数据库分库分表实践
    Kubernetes 集群日志 和 EFK 架构日志方案
    Kubernetes 集群和应用监控方案的设计与实践
    java wait(long timeout, int nanos),后面的nanos有什么用?
    如何对消息队列进行选型
    Java 设计模式笔记
    [译]为什么你应该关注 Docker
    Java 设计模式课堂作业记录
    AtCoder Beginner Contest 242(C~E)
    Denso Create Programming Contest 2022(AtCoder Beginner Contest 239) E~F 题
  • 原文地址:https://www.cnblogs.com/fancyLee/p/9719401.html
Copyright © 2020-2023  润新知