本文转载自:https://www.jianshu.com/p/e5d801b936b6 前提: 生成patch: git format-patch -M master 生成指定patch,0163bed3bf59ae74c36cc5138b4c24f1556d8304是commit id,-1是指从当前id开始,向下提交次数,包含此次且计数从1开始. 也就是说,我想要打出0163bed3bf59ae74c36cc5138b4c24f1556d8304当前的patch,则: git format…
一.打补丁 git format-patch & git apply 最近在工作中遇到打补丁的需求,一来觉得直接传文件有些low(而且我尝试了一下,差点把项目代码毁了) ,二来也是想学习一下,so,format-patch对于我来讲是个新命令,将处理流程与技巧卸备份在这里. 1.从A分支git checkout -b B,新建一个新分支 2.找到打补丁的人相对A分支,开始写补丁的commitid,并git reset --hard 将head指向这一分支,如此一来保证补丁的应用场景是有一样的 3…
git diff 简易操作说明 先git log 查看commit ID, 记录你想要打的补丁的ID 比如说: git log commit 4ff35d800fa62123a28b7bda2a04e749addf1918 Author: chenfulin5 <chenfulin5@gmail.com> Date: Tue Dec 20 17:37:09 2016 +0800 [I2C EEPROM] commit acb8cd154cecf20894ae25fc3787d6b6ba9b32…
转自:http://blog.csdn.net/aaronzzq/article/details/6955893 git version 1.6.0.4 几个新手刚刚开始接触 Git,为了维护核心仓库的“纯洁”,避免太多无关信息被误提交进仓库(再次批评一些图形化工具默认的“Select All”),采用了核心仓库只读,邮件提交 patch,审核后再提交的工作流程. 期间有时会遇到合并冲突,正常的原因一般是未及时下载新版本产生了冲突,特殊一点的原因是手工修改 patch 内容导致的.有时候看注释写…
svn/git的diff.patch 前几天,正当我突突的写代码,企业微信嘀嘀一声响”在不,过来帮我看个bug”.本人一向助人为乐,高兴的冲了过去,然后就开始了一段长达1分钟的问题描述.很明显,此同学只知道结果不对,并没有找出程序的根本问题. 好吧,心凉了一半,果然是找我来干体力活的.坐定,抬手开始调试代码... 调试开始,打开编辑器,什么,竟然用的大型IDE,好吧,忍了,卡死了.刚写好一句代码,准备按ctrl+B运行,没反应,再按,依然没反应,好吧,看来这兄弟啥也没配置.刚想打开终端,想想算了…
工作目录 vs 暂存区 $ git diff <filename> 意义:查看文件在工作目录与暂存区的差别.如果还没 add 进暂存区,则查看文件自身修改前后的差别.也可查看和另一分支的区别. $ git diff <branch> <filename> 暂存区 vs Git仓库 git diff --cached <filename> 意义:表示查看已经 add 进暂存区但是尚未 commit 的内容同最新一次 commit 时的内容的差异. 也可以指定仓…
前言 当对项目做了更改时,我们通常需要知道具体改了哪些文件,哪些文件更改了没有暂存,哪些文件改了并且已加入到暂存区等待下次commit.上述任务使用git status都可以帮我们解决.但是想要知道文件内部改了哪些地方git status就无能为力了.git status最多只告诉你改没改,改哪了不知道.git diff可以解决这个问题. git status git status 命令的输出十分详细,但其用语有些繁琐. 如果你使用 git status -s 命令或 git status --…
Source code control 一直是软件开发过程中重要的环节,从最初的纯文件备份,到使用工具进行管理.Source code control 工具的作用也不仅仅只是单纯的对同一个版本进行管理了.从目前主流的source code control工具当中不难发现里面的Branch, tag等功能的应用场景越来越多,特别是现在多数企业使用的敏捷编程,结合branch和tag等功能真的能够很好的做到多版本开发,快速迭代. 思考: 没有source code control我们如何快速的基于一…
用git config配置 Git,要做的第一件事就是设置名字和邮箱地址: $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 从现在开始,你会了解到一些类似以上但更为有趣的设置选项来自定义 Git. 先过一遍第一章中提到的 Git 配置细节.Git 使用一系列的配置文件来存储你定义的偏好,它首先会查找/etc/gitconfig文件,该文件含有…
. 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 列出文件的所有改动历史,注意,这里着眼于具体的一个文件,而不是git库,如果是库,那改动可多了去了- . 查看具体的某次的改动的修改 git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e 每一行最前面的那一长串数字就是每次提交形成的哈希值 Git常用命…