背景:
一开始我下了freescale的soure code在本地开发,假设Commit为A,过来一段时间后才开始基于Commit A创建git server,
下面例子演示实现:
以commit log为test这笔需要添加的commit为例,当前branch为tmp, 飞思卡尔的commit是前面那一笔。
1. 生成commit
注意这句: scp -p -P 29418 [email protected]:hooks/commit-msg .git/hooks/
在push到gerrit的时候,gerrit会检查当前commit有没有change id,如果没有是不允许你push,出现如下error log:
....
remote: ERROR: missing Change-Id in commit message footer
.....
这条命令作用是从我们服务器上copy脚本到当前git下,以后每笔commit 就会自动添加change id了。
之前我就忘了添加change id而吃了好大亏,导致后面每笔commit都要重新添加而不能一次性提交。
2. 获取远程仓库
将远程仓库抓下来,命名为pb,这样远程仓库的内容也在本地了,因此test前面那一笔的commit就是pb的最新一笔commit,所以接下来可以直接push了。
如果不是,则先需要合并。
3. 合并
参考:
http://blog.csdn.net/wangjia55/article/details/8802490
http://blog.sina.com.cn/s/blog_4b5039210102e5o5.html