使用repo的本地开发流程
repo下的本地开发流程
单分支开发:
1 本地新建工作目录并初始化repo库: repo init;
2 下载代码(只取服务器当前分支): repo sync -c;
3 创建本地分支: repo start localDevelop --all;
4 基于localDevelop分支进行代码修改,修改中可能需要建立私有分支,但统一使用localDevelop分支提交;
5 将所有库切换到localDevelop分支,repo sync同步,同步过程中如果出现冲突,进入冲突的库,手动解决冲突后,使用git add命令标记冲突解决,然后执行git rebase --continue,再次repo sync未完成的同步。
双分支开发:
1 本地新建工作目录并初始化repo库: repo init;
2 下载代码: repo sync -c;
3 创建本地开发分支: repo start localDevelop --all;
4 创建本地同步服务器分支: repo start localSync --all;
5 切换到localDevelop分支进行代码修改,提交到本地库;
6 需要同步的时候,统一切换到localSync分支repo sync,由于localSync分支本地没有做任何修改,所以同步肯定不会出现冲突;
7 本地切换到localDevelop分支,repo forall -p -c "git rebase localSync", 将本地开发分支rebase到同步分支上,使用rebase的原因是减少merge节点。在执行rebase之前,可以先休整本地的历史提交记录,维护一个简洁清晰的版本图。
8 rebase过程中出现的冲突仍然需要手动解决。
双分支的好处在于,可以随时同步服务器修改,自己决定何时合入自己的修正,相对于repo sync中的隐式rebase,条理更清晰。
使用repo的本地开发流程的更多相关文章
- Gitblit搭建及Git协作开发流程
1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...
- Android jni简便开发流程
<Android jni helloworld>中介绍了开发jni helloworld的步骤,本文将介绍jni简便开发流程 ① 写java代码 native 声明本地方法 ② 添加本地支 ...
- git 一般的开发流程中的代码管理
一般的开发流程中的代码管理 1. 从版本库中下载代码 git clone ssh://wenbin@192.168.1.3:29418/mustang-web 2. 针对某个feature(比如ins ...
- iOS项目的目录结构和开发流程(Cocoa China)
目录结构 AppDelegate Models Macro General Helpers Vendors Sections Resources 一个合理的目录结构首先应该是清晰的,让人一眼看上去 ...
- JNI开发流程-JNI/NDK【转】
本文转载自:http://wiki.jikexueyuan.com/project/jni-ndk-developer-guide/workflow.html 开发流程 JNI 全称是 Java Na ...
- iOS项目的目录结构和开发流程
转自无网不剩的博客 网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法. 目录结构 AppDelegate Models Ma ...
随机推荐
- Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作
http://blog.csdn.net/swingpyzf/article/details/15185767
- 对plist文件的简单封装
常常会用到对plist文件的封装 +(NSArray *)LoadFriendsDataFromPlist:(NSString *)plistName{ NSString * filePath = [ ...
- 吸血鬼数字算法参考 -- javascript版本
// 吸血鬼数字 java编程思想 第四章 75页 练习10 for (var i = 10; i <= 99; i++) { for (var j = i + 1; j < 99; j+ ...
- webrtc之视频捕获模块--video_capture
webrtc的video_capture模块,为我们在不同端设备上采集视频提供了一个跨平台封装的视频采集功能,如下图中的webrtc的video_capture源码,现webrtc的video_cap ...
- 慕课Linux学习笔记(三)系统分区
Linux的系统分区 主分区:最多四个 扩展分区:最多只能一个,不能写入数据,只能包含逻辑分区 逻辑分区 必须分区: / (根分区) Swap 分区 (交换分区,内存的两倍,不超过2GB,如果内存大于 ...
- Scala学习笔记--正则表达式基础知识、如何在scala内使用
正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...
- Core Data数据持久性存储基础教程-备用
摘要 就像我一直说的,Core Data是iOS编程,乃至Mac编程中使用持久性数据存储的最佳方式,本质上来说,Core Data使用的就是SQLite,但是通过一系列特性避免了使用SQL的一些列的麻 ...
- Android SDCard和内部存储中gcc编译后的可执行文件无法运行提示 cannot execute - Permission denied
原因是mount的方式问题,root后运行 su mount -o rw,remount /mnt/sdcard //SDCard mount -o rw,remount /mnt/interna ...
- LeetCode_Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
- Powershell --在线学习
介绍和安装 自定义控制台 快速编辑模式和标准模式 快捷键 管道和重定向 Powershell交互式 数学运算 执行外部命令 命令集 别名 通过函数扩展别名 执行文件和脚本 Powershell变量 定 ...