git repo的使用

    呵呵,才来这边两个多月,虽然这阵子心情不是很好,但也帮忙提交了两个PATCH了,以前在小公司,能用个SVN已经觉得挺不错了,现在才知道,这只是冰山一脚,大爷的,尤其是这个android的系统,要用到repo和git的工具。这也没什么奇怪的,其实就是多用用就好了。

repo,是对于整个工程来说的:

repo init -u git://android.intel.com/manifest -b platform/android/r3-stable -m android-r3           这个就是在建立repo,用ll .repo,会指向一个.xml的文件

repo sync    同步代码,也可以说是在拉代码

repo start peng1 --all               //对于当前的项目,建立了一个peng1的分支,而且是对整个工程来说的

repo checkout  peng1             // 切换到peng1的分支上

git 则好像就是repo 的儿子一样,是对其子项目来说的,

git log

git reset --hard

git revert

git show

git commit

git format-patch

不想仔细解释了,不会的,在多用用,查查就可以了。


我就来讲讲我提交patch的过程吧。虽然也不是什么有技术性的问题,但是能熟练的利用工具,也是对开发特有好处的。

1,在莫个分支上,我修改了里面的文件,此刻可以用git diff,看到我的修改内容。

2,把修改的文件最好保存一下,此刻要同步一下代码,git  pull

3,  替换一下修改的文件,加标签,git commit -s .    后面的点很重要

4,git log -p  查看修改了什么

5,git format-patch -1 生成一个patch,git format-patch -2 ,嘻嘻,这个不用多说吧,就是生成两个PATCH

6,repo upload .       上传这个patch      后面的点很重要,每次都不记得,麻烦


这几次都会遇到一个问题:就是应为在revert某个patch时,有冲突,导致PATCH也没有拿掉,但又修改了,害我都不能checkout到其他的分支上,当你用repo checkout dv

它会告诉你那块有问题,于是到相应的目录,用git reset --hard HEAD^,呵呵,就可以了。


好了就这么多了


再加点:因为有时候打上patch

git commit -a -s

但是只修改patch文件的内容:

git commit --amend



查看drivers/tty/serial/mfd.c 2427行 是哪个patch对这个进行了修改

git blame -L 2474  drivers/tty/serial/mfd.c

b6c0f089 drivers/tty/serial/mfd.c (sathya                  2011-10-24 18:38:14 -0700 2474) #ifdef CONFIG_PM_RUNTIME
b6c0f089 drivers/tty/serial/mfd.c (sathya                  2011-10-24 18:38:14 -0700 2475)              /* check if RPM suspend has been unlocked */
b6c0f089 drivers/tty/serial/mfd.c (sathya                  2011-10-24 18:38:14 -0700 2476)              if (atomic_read(&up->dev->power.usage_count) > 1
d844fe9c drivers/tty/serial/mfd.c (liu chuansheng          2013-01-25 18:43:12 +0800 2477)                      || up->dev->power.disable_depth > 0) {
d844fe9c drivers/tty/serial/mfd.c (liu chuansheng          2013-01-25 18:43:12 +0800 2478)                      dev_info(up->dev, "%s: rmp is active\n", __func__);
b6c0f089 drivers/tty/serial/mfd.c (sathya                  2011-10-24 18:38:14 -0700 2479)                      return -EBUSY;
b6c0f089 drivers/tty/serial/mfd.c (sathya                  2011-10-24 18:38:14 -0700 2480)              }

git show b6c0f089 可以看到修改的代码

git log b6c0f089 也可以简单的查看PATCH

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值