引文:

    在日常工作中经常使用Git命令,但是仅限于某几条,对于Git更高级的应用并不了解,也暂时没有必要。由于大脑堆栈太少,所以记录于此以便查询。如果还能够服务各位访问的朋友,就更好了。个人感受:git的分支类似于指针链表的方式、或者类似于树形结构。优点什么的就不废话了。


某Android平台开发模式:

72平台的Android4.4为例:

分成如下分支:

sys-dev:软件开发成员进行开发提交的分支。

sys:从sys-dev分支上更新到sys分支上面来,作为sys-dev与sys-product***的隔离角色。

sys-product***:从sys分支切出来,应用于具体的产品。


sys-dev上的开发流程:

更新sys-dev,git pull

切出自己的开发分支git co -b my_dev

提交修改的代码(比如修改持续了10天)

开发完毕,patchsp startid..endid。注意startid是没有包含到patch里面的。(sp是项目主管自己写的脚本,用网上git原生的替换)

切换到sys-devgit co sys-dev

重新更新sys-dev:git pull(因为已经过了10天了,别人已经在上面有了很多提交,所以要更新到最新)

patchgit am --reject***.patch(注意这个patch文件在sp之后的打包文件夹里面)

如果有冲突,就会在冲突目录产生rej文件,就需要解冲突。如果用git cherry-pick ***的话,有很多冲突就不好处理。


常用的git命令

删除:git branch -d <branch-name>  

新建并切换到新建分支:git co -b <branch-name>

查看某次提交修改的文件列表:git show --name-status 60cd494

查看某提提交的某个文件的修改:git show 60cd494 file_path







Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐