您的位置:首页 > 移动开发

git 使用一条龙

2015-07-06 17:37 465 查看
下面总结一下使用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到某个分支


4、应用标记(视情况而定)
有时候我们提交完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名称一致


补充:

如果是自己在代码中添加的补丁,应该如何应用到远程仓库的方法我就不在这里说了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息