下面总结一下使用git的过程,那天要是忘记了过来看看就知晓了。很多东西时间稍微长一点不用就会忘记了,还是做点记录的好!!!
首先我需要对我的内核代码打一个补丁,所以我先生成一个补丁(如果你有现成的补丁直接用):
1、生成补丁
mkdir -p /tmp/patch
git format-patch commit-old..commit-new -o /tmp/patch</span>
参数解释: -o 参数指定生成补丁的输出路径
注意:两个commit哈希之间有两个英文的句号,之间没有空格;关于format-patch 子参数的更多使用help命令查看:
git format-patch --help
上面的命令执行成功之后会在输出指定的输出目录下生成相关patch文件如:
0001-xxxx-fixup-some-bugs-for-audit.patch
2、应用补丁
首先检查生成的补丁能否应用到当前项目代码中:
git apply --check /tmp/patch/0001-xxxx-xxx.patch
如果没有出现error,说明此patch可以应用到当前代码中。如果出现错误,视错误类型而定。
git am /tmp/patch/0001-xxxx-xxx.patch
如果也ok的话,说明此patch已经完全应用成功,当然有时候会出现许多你不想看到的错误警告,所以你应该搞明白项目代码的来龙去脉,确保在合适的节点应用patch。
当你拿到或者生成了多个patch时需要批量应用patch:
git am tmp/patch/*.patch
祝你好运!
可以查看应用周的log信息:
git log //patch的commit、Author、Date、描述
git log -p
git log -U
git log --raw
接下来再看看git 仓库的状态:
git status
这个命令这有许多子参数,使用--help来了解其用法
3、更新到远程仓库
git push origin master //push到主分支
git push origin branchname:master //push到某个分支
有时候我们提交完patch到某个commit时可能是项目的某个阶段,例如一个commit提交完之后我们出了新版本,需要在git仓库标记这个节点为某个版本发布的节点。
命令格式
git tag -a version -m "描述信息" commit哈希值
命令:
git tag -a version-121 -m "update to 3.10.121 version" fa2c81f49786f54
提交tag:
git add .
git commit -m "描述信息,自己发挥"
git push origin version-121 //要和上面的tag名称一致
补充:
如果是自己在代码中添加的补丁,应该如何应用到远程仓库的方法我就不在这里说了;