git撤销提交,新建、删除分支汇总

chatgpt/2023/10/4 8:27:08

目录

  1. git 撤销中间某次提交,保留其他提交的方法
  2. git 撤销已经push的代码
  3. git 新建分支
  4. git 删除分支

git 撤销中间某次提交,保留其他提交的方法

git revert commit_id 通过git log 获取commit_id

如果commit_idmerge节点的话,-m是指定具体哪个提交点,如果不是merge节点,执行git revert 41c1d13069fb3738fea9566f3c83d93918ea4a05 即可。

git revert 41c1d13069fb3738fea9566f3c83d93918ea4a05 -m 1

如果出现下图界面,直接回车到最后,然后输入:wq保存并退出即可,最后再git push

使用git revert 之后如果想再次merge 会无法merge过来,这个时候只需要找到上次revertcommit_id ,再次执行 git revert 9851d22a4795343d2866ce2f729c0da4888a11bf,然后再按上面的步骤执行:wqgit push就可以了。

git 撤销已经push的代码

  • git reset --soft HEAD~1
    – 撤销最近一次的commit(撤销commit,不撤销git add)
  • git reset --mixed HEAD~1
    – 撤销最近一次的commit(撤销commit,撤销git add)
  • git reset --hard HEAD~1
    – 撤销最近一次的commit(撤销commit,撤销git add,工作区的代码改动将丢失。操作完成后回到上一次commit状态)

git reset 后要执行git push origin branch_name -f,前后log对比,commit中不在存在记录。

git 新建分支

  • 新建分支 git branch new_branch_name
  • 切换分支 git checkout new_branch_name
  • 推送到远程 git push -u origin new_branch_name

git 删除分支

  • 利用git branch --delete branch_name命令删除本地分支
  • 利用git push origin --delete branch_name命令删除远程分支

git fetch -p 是 Git 中的命令,用于获取并清理(prune)操作。 当你运行 git fetch
命令时,它会从远程仓库中获取最新的变更,但不会将这些变更合并到你的本地分支中。默认情况下,Git
仅会获取远程仓库中的新分支和标签,但不会删除在远程已被删除的分支或标签的引用。 -p--prune 选项告诉 Git
除了获取最新的变更外,还要删除在远程仓库中已被删除的远程跟踪分支。这样可以清理掉本地仓库中已不存在的远程分支的引用,确保本地仓库与远程仓库保持同步。
因此,当你运行 git fetch -p 命令时,它会获取远程仓库中的最新变更,并删除在远程仓库中已被删除的远程跟踪分支。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5314309.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

matlab编程实践14、15

目录 数独 "四独"游戏 解的存在和唯一性 算法 常微分方程 数独 采用蛮力试凑法来解决数独问题。(采用单选数,以及计算机科学技术中的递推回溯法) 以上的数独是图14-2的两个矩阵的和,左侧的矩阵可以由kron和magic函…

js实现节流函数,当需要对一个高频触发的事件进行节流时,可以使用节流函数来限制事件的触发频率

当需要对一个高频触发的事件进行节流时,可以使用节流函数来限制事件的触发频率 function throttle(func, delay) {let timeoutId;return function() {if (!timeoutId) {timeoutId setTimeout(() > {func.apply(this, arguments);timeoutId null;}, delay);}};…

【项目设计】MySQL 连接池的设计

目录 👉关键技术点👈👉项目背景👈👉连接池功能点介绍👈👉MySQL Server 参数介绍👈👉功能实现设计👈👉开发平台选型👈👉MyS…

java+springboot+mysql智慧办公OA管理系统

项目介绍: 使用javaspringbootmysql开发的智慧办公OA管理系统,系统包含超级管理员,系统管理员、员工角色,功能如下: 超级管理员:管理员管理;部门管理;职位管理;员工管理…

【Nginx】keepalived安装配置

环境说明 Centos 7版本 主机名 IP地址 其他 nginx 192.168.10.150 主 nginx-2 192.168.10.151 备 配置 主-192.168.10.150 [rootnginx ~]# yum install keepalived [rootnginx ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived #定义全…

Day11-作业(SpringBootWeb案例)

作业1:完成课上所讲解的部门管理、员工管理的所有功能。[必须] 部门管理: 查询部门 删除部门 新增部门 修改部门 员工管理: 条件分页查询 批量删除员工 新增员工 修改员工 文件上传 作业2:整理 文件上传、配置文件 [必…

Linux:service:systemd 版本253.5有一个问题,可能导致virsh hang

https://github.com/systemd/systemd/issues/27953 从描述上看,libvirt的服务设置也有些特殊的配置,才导致的virsh的执行有问题。 要从这个libvirtd的参数: -t, --timeout SECONDS Exit after timeout period (in seconds) elapse with no …

SpringSecurity的编写流程

目录 主要流程: 具体实现: 主要流程: (特殊)1、如果你需要返回json格式字符串,那么你首先需要编写相应的处理器,如果不需要则可直接写配置类 2、编写配置类 3、编写认证授权相关的mapper…
推荐文章