git format-patch命令介绍
git format-patch的使用
1.在dev1分支上,打出所有dev1分支在master分支基础上的patch
git format-patch master
结果为d1c1.patch ,d1c2.patch
2.在dev1分支上,打出所有dev1分支的所有patch
git format-patch –root dev1
结果为mc1.patch,d1c1.patch ,d1c2.patch
3.在dev2分支上,打出所有dev2分支在master分支基础上的patch
git format-patch master
结果为d2c1.patch ,d2c2.patch
4.在dev2分支上,打出所有dev2分支的所有patch
git format-patch –root dev2
结果为mc1.patch,mc2.patch,mc3.patch,d2c1.patch ,d2c2.patch
5.在dev2分支上,打出所有相对于dev1分支的所有patch
git format-patch –root dev1
结果为 mc2.patch,mc3.patch,d2c1.patch ,d2c2.patch
6.比较两个分支
git diff dev1 dev2
7.比较两个分支中单个文件的区别
git diff dev1 dev2 main.c
8.将所有的commit信息保存在文件中
git log > commit.txt
git log | grep “commit” -A3 >commit.txt 保存commit开始的3行
-An after , -Bn before, -Cn(前后n行)
9.将dev1的分支merge到dev2分支
在dev2分支下,git merge --commit dev1
10.找到dev2在master分支上的commitID
git merge-base dev2 master
会显示dev2和master两个分支的共同的commitID
撤消历史提交
1
git revert commit_ID
例子:提交历史如下
ss@ss:/work/test$ git log
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
commit 76e846f8ee0106840767d5522c7d33d7f752527b
Author: ss
Date: Thu Mar 21 20:05:08 2013 +0800
commit a
commit 8e7979f6617ae9fc6ae3666002bf17482bd10e28
Author: ss
Date: Wed Feb 20 20:06:09 2013 +0800
Iitial
如果我想撤消
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
这笔提交;则使用命令:git revert 226e1a70d720f47d21d3664688d9dc34665ba84f
效果如下:
commit 40f83cb1fa45702ec31bcdd4426580551edfae8e
Author: ss .com>
Date: Thu Mar 21 20:13:07 2013 +0800
Revert "commit c"
This reverts commit 226e1a70d720f47d21d3664688d9dc34665ba84f.
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
这样在这一比提交的东西将会被撤销
2
若想撤消
commit 70869ac8cc36c05267aad41954f89d068d2d8142
Author: ss
Date: Thu Mar 21 20:12:58 2013 +0800
new a
commit 226e1a70d720f47d21d3664688d9dc34665ba84f
Author: ss
Date: Thu Mar 21 20:05:36 2013 +0800
commit c
commit ff45af7db705904bc49fc09679b2c384ce778d1a
Author: ss
Date: Thu Mar 21 20:05:23 2013 +0800
commit b
这三笔提交
可以用命令
git reset --hard 76e846f8ee0106840767d5522c7d33d7f752527b 这笔ID为commi a
git reset --soft 70869ac8cc36c05267aad41954f89d068d2d8142
git commit -m "cccc"
git format-patch命令介绍相关推荐
- Git基础(常用命令)介绍
版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统,如rcs:集中化的版本控制系统,如CVS.SVN:分布式版本控制系统,如Git. Gi ...
- GIT常用基础命令总结
三个配置文件 /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置.若使用 git config 时用--system 选项,读写的就是这个文件. ~/.gitconfig 文件:用户 ...
- patch文件介绍和生成方法
Git 打补丁-- patch 和 diff 的使用(详细) git diff和diff产生的文件简介 git patch制作相关简介 git format-patch 用法 如果要修改的patch当 ...
- git原理浅析及命令介绍
状态描写叙述 请记住,工作文件夹以下的全部文件都不外乎这两种状态:已跟踪或未跟踪.已跟踪的文件是指本来就被纳入版本号控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新.已 ...
- Linux下安装Git、git命令介绍
前言 环境:centos7.9 git version 1.8.3.1 Git官网 https://git-scm.com/ 安装Git [root@git ~]# yum install git # ...
- Git系列之git log高级命令
原文地址 使用任何版本控制工具的目的都在于记录你代码的变化.这可以给予你查看项目历史的能力,去发现谁做出了贡献,弄清楚何时产生了bug,回滚到错误的修改.但是,如果你无法定位,获取这些历史记录将变得毫 ...
- git 提交代码命令_提交代码:git push 命令的四种形式
Git是一种分布式版本控制系统,可以高效地处理项目的版本管理.若对Git的基本使用还不太了解,可以先看一下下面的文章. Git 常用命令 使用Git的工作流程:修改.暂存.提交.推送 Git操作:在多 ...
- git版本管理工具用法介绍
1. 概要 Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,对于软件开发领域来说版本控制是最重要的一环,而 Git 毫无疑问是当下最流行.最好用的版本控制系统. 2. ...
- 使用 patch 命令打补丁
之前的这篇文章 git 导出差异 diff 文件 写了导出 diff .patch 文件. 拿到 patch 文件,用 patch 命令可以快速的把修改内容合入,合入后在 git 上是已修改的状态,如 ...
- 2021 从零开始学Git【新版本Git - 8000字详细介绍】
我写的这篇文章,主要是记录自己的学习过程,也希望帮助读者少踩坑(比如不同版本可能命令不兼容等).本文面向git零基础初学者,建议读者按照文中命令自己全部操作一遍(注意运行环境). 我的运行环境:win ...
最新文章
- 数据结构笔记--二叉查找树概述以及java代码实现
- 我亲手调教的AI,竟然开始歧视我了!
- 国内有没有能媲美Jira的测试管理工具?我们找国内产品来测评一下
- 基于英飞凌AURIX的平衡单车组逐飞BLDC项目开源
- VC++ 实现自定义消息
- nodejs实现的简单接口
- linux xfs文件误删除恢复_linux系统文件误删除恢复
- 【渝粤教育】电大中专常见病药物治疗作业 题库
- 透彻解析!字节跳动Android实习面试凉凉经,年薪超过80万!
- loaded the ViewController nib but the view outlet was not set. 处理方式
- 1. 安装docker
- error_reporting()函数
- Polygons HDU - 1632 (半平面交)
- 烂泥:学习ssh之ssh密钥随身携带
- [转]asp.net中打印ReportViewer报表
- 信息系统项目管理师历年试题分析与解答(android版)
- 电力线载波 Prime PLC 通讯技术简介
- NATAPP内网穿透使用
- 基于 redis 的单点登录原理
- FastDFS原理系列文章