git常用的命令

1. 复制版本库

研发人员首先clone整个版本库

git clone git://10.1.1.35:9419/kernel-rk29.git

git clone git://10.1.1.35:9419/gingerbread-rk29.git 

2. 创建分支

默认clone下来的git库只包含master本地分支

 master
 remotes/origin/HEAD -> origin/master
 remotes/origin/R91P1_all
 remotes/origin/R91P1_yd
 remotes/origin/master

修改前,需要建立客户版本的本地分支

git checkout -b R91P1_yd origin/R91P1_yd 

3. 修改

git add ...
git commit -m"..."

4. 服务器同步

修改提交到本地库后,上传到服务器,上传前注意和服务器上同步

git fetch

git rebase origin/R91P1_yd

以上两步可用一步简写

git pull --rebase

5. 上传

上传服务器,注意本地分支名和服务器分支名不要搞错

git push origin R91P1_yd:R91P1_yd

git push的格式为

git push origin <本地分支>:<服务器分支> 

若本地分支名和服务器分支名相同,则可简写为

git push origin <分支名>

注意不要不要不加任何参数地提交

补丁维护

1. 共性补丁

共性补丁直接打入共性补丁分支,如master

注意提交到master分支的修改将来会合入所有客户版本,并产生作用 因此确认补丁确实为共性问题时才可提交到master分支

如要提交到master分支,必须切到本地的master分支操作

git checkout master

...

git pull --rebase

git push origin master 

以后可能会增加覆盖面稍小的共性分支,如竖屏版本,带GPS和3G版本等


2. 后预见的共性补丁

有些问题首先在客户版本上发现并修正测试通过

之后才发现别的客户版本也有此问题,因此将该问题列为共性问题

后预见的共性补丁提交如下

git checkout master

git cherry-pick -x <补丁的commit id>

 git pull --rebase

git push master


发布版本流程

1. 切换客户分支

git checkout R91P1_yd 

2. 和服务器同步

git pull --rebase 

3. 合并master

git merge origin/master 

若有冲突,与提交者沟通解决冲突

4. 如有需要,合并应用组提交的分支

git merge origin/frameworks_ui 

若有冲突,与应用组沟通解决冲突

5. 编译测试

6. 打tag

git tag R91P1_yd_1.0.7_20110826

7. 提交

git push origin R91P1_yd 

如果失败,说明服务器上又有更新,此时合入服务器上的更新并提交

git fetch
git merge origin/R91P1_yd
git push origin R91P1_yd

8. 提交tag

git push --tags 

你可能感兴趣的:(UI,git,服务器,测试,merge)