• git常用命令


    注:与shell命令的manual相同,中括号[]表示参数非必传

    reflog 查看分支基于哪个分支创建

    # 查看myBranch分支基于哪个分支创建
    git reflog show myBranch --date=local
    # 查看输出最早的一条记录如下
    ff01ab45 myBranch@{Tue Jul 26 16:27:34 2022}: branch: Created from messageDegrade^0
    
    • 1
    • 2
    • 3
    • 4

    status

    查看当前工作空间状态以及状态切换命令提示(提交/回滚/中断merge)

    git status
    
    • 1

    stash 暂存

    新增暂存

    # 暂存名称为最新一次提交的commit -m的内容
    git stash
    # 暂存名称为 myChange
    git stash save 'myChange'
    
    • 1
    • 2
    • 3
    • 4

    查看暂存

    # 查看暂存stash@{0}与当前分支的差异
    git stash show [stash@{0}]
    # 查看暂存列表
    git stash list
    
    • 1
    • 2
    • 3
    • 4

    取出暂存

    # 取出并删除指定下标处的暂存,并与当前分支合并
    git stash pop [stash@{0}]
    # 仅取出指定下标处的暂存,并与当前分支合并
    git stash apply [stash@{0}]
    
    • 1
    • 2
    • 3
    • 4

    删除暂存

    # 删除置顶暂存
    git stash drop stash@{0}
    # 全部删除
    git stash clear
    
    • 1
    • 2
    • 3
    • 4

    Git回滚到某个commit

    reset 回滚

    git reset 参数:
    hard:工作区、暂存区的内容都会和当前head指向的内容相同。
    soft:head指针指向指定的commit,但是工作区、暂存区的内容不会发生变化。
    mixed:介于hard和soft之间,暂存区的内容将会发生变化,但是工作区的内容不会发生变化。

    # 将head指向上一次commit
    git reset --hard head^
    # 将head指向上上次commit
    git reset --hard head^^
    # 将head指向上10次的commit
    git reset --hard head~10
    # 指定commit版本号 将head移动到指定的commit 
    git reset --hard 指定commit的sha码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    log 查看commit的sha码

    git log
    
    • 1

    push 强推到远程仓库

    # 如果无法强推,检查是否分支处于保护状态,是则先在后台取消该分支保护。
    # 强推后被回滚的代码就找不回来了,做好备份!
    git push origin HEAD --force
    
    • 1
    • 2
    • 3

    revert

    代码merge到主干回滚后想要重新修改回滚代码后merge到主干

    # 反向操作你的rollback的代码
    git revert <commit-id>
    # 反向操作某个提交,但执行命令后不进入编辑界面,也就是不会自动帮你提交文件,需要手动提交
    git revert -n|--no-commit <commit-id>
    
    • 1
    • 2
    • 3
    • 4

    revert与reset的区别

    reset是将git变更指针移动到指定commit-id
    revert是将指定commit-id的变更反向操作后作为一次新的commit提交至git仓库

  • 相关阅读:
    输入部件 QComboBox --组合框/下拉列表
    【Nginx】CentOS 安装Nignx
    什么是UV贴图?
    腾讯季报图解:营收1340亿降3% 马化腾称主动退出非核心业务
    Kubernetes(K8S) kubesphere 安装
    【SQL】根据插入语句条件判断插入哪张表,多表插入,2017年
    Yolov5 + 界面PyQt5 +.exe文件部署运行
    程序员与动漫
    学Python的漫画漫步进阶 -- 第十四步
    JS--拷贝数组的方法(浅拷贝)
  • 原文地址:https://blog.csdn.net/u010597819/article/details/126318598