Git管理多个远端仓库的方法

git】subtree拆分大的git库到多个独立git 配置 subtree 菜单:Repository -> Add/Link subtree…拉取依赖库的最新代码 在右边栏右击已存在的subtree,并选择 pull subtree…: 适用于add/pull/merge子命令。先合并引用库的更新记录,将合并结果并到主项目中。至此,就将一部分eiyo 代码 分割成一个单独的仓库 并且保留日志。中,在开发过程中,只需对主项目分支进行统一管理。:合并策略,通过git subtree命令。 阅读详情

作者: yongquan.xu


本文针对目前项目同时维护2个远端仓库的情况,介绍了用一个工作项目,同时提交的方法。

1、工程配置

由于S2和X588的系统主题不一样,本节介绍通过工程配置和Android版本继承的方法来动态引用系统主题。使得在Windows下编译时,忽略项目特有的style,而在源码编译时自动引用。避免提交时因为平台的差异,提交错误的style导致编译失败。

在项目默认的values目录下,定义style:

<style name="Tpv.DialogBase" parent="Theme.AppCompat.Light.Dialog"/>

在项目的根目录下(Android studio在module的src目录下)创建x588和s2目录,并创建res/values-23/目录,并在values.xml中继承style:

X588/res/values-23/values.xml:

<style name="Tpv.DialogBase"parent="com.tpv:Theme.Tpv.Light.Dialog.Alert"/>

 

S2/res/values-23/values:xml:

<stylename="Tpv.DialogBase"parent="android:Theme.Tpv.Light.Dialog.Alert"/>

由于style是在Eclipse项目外定义,因此在Eclipse编译时不会被加入。在源码编译时,需要在Android.mk添加资源目录。这里要注意的是,开关不要使用$MTK_PLATFORM,因为2个分支的值都是MT6755:

ifeq ($(TARGET_DEVICE), tpv6750_66_m)

LOCAL_RESOURCE_DIR+= vendor/tpv/apps/Clock/deskClock/src/x588/res

else

LOCAL_RESOURCE_DIR+= vendor/tpv/apps/Clock/deskClock/src/s2/res

Endif

    Android studio配置

    配置完成以后,在Android studio的项目视图中,需要选择Project,才能看到平台专属的资源。可以通过gradle配置,把资源引入到module里。Eclipse开发环境请忽略本节。

    编辑module的build.gradle,添加以下内容:

productFlavors {
    general {}
    x588 {}
    s2 {}
}

完成后,在Build Variants下会出现以下菜单,选择相应的项,可以把平台的资源引入到项目中(当然,正常是不能通过编译的):

 


2、git提交

上文介绍了通过编译脚本,在一个工程里配置不同的平台,简化git提交动作。本节介绍在一个git仓库中配置多个远程仓库并实现同时提交。这里我们默认在不同的远端仓库中,代码基线是一致的。

 

Clone git本地仓库:

git clonessh://yongquan.xu@twtps524.tpvaoc.com:29418/MT6755R3/alps/

vendor/tpv/apps/Photo.git -bFREELY_UI_2.0

添加X588的仓库:

git remote addx588 ssh://yongquan.xu@twtps524.tpvaoc.com:29418/MT6750/

alps/vendor/tpv/apps/Clock.git

       fetch X588分支到本地:git fetch x588

 

       在FREELY_UI_2.0分支下,修改代码并提交,记下提交的change id,切换到X588_M0_V1分支:

       git checkout X588_M0_V1

 

       把Freely UI 2.0的代码合并过来:git cherry-pick<change-id>

       提并X588_M0_V1代码:

       git push ……


搭建repo服务器管理多个git工程 本文介绍了使用repo工具管理多个Git仓库方法。首先概述了repo作为Android开发的代码管理工具,能够有效组织上百个Git库。随后详细说明了repo工具的下载配置流程,包括从官方源或国内镜像获取repo,并进行必要的修改优化。文章重点讲解了在服务器端初始化项目和manifest仓库的步骤,包括创建default.xml清单文件来定义项目结构。清单文件中通过remote标签配置远程仓库信息,default标签设置默认参数,project标签管理具体项目路径。最后给出了一个完整的manifest文件示 阅读详情

相关推荐

git中,如何使用sourcetree管理同一个项目中的多个远程仓库

介绍说明 看标题,可能会有点晕,这说的啥玩意啊?实际上,我是想通过那一句话,表达这个意思: 在开发中,我们可能会需要把本地的git仓库同步到两个甚至多个远程git仓库中。 比如说我们可以在bitbucket和oschina上面各建立一个仓库,然后都对应到本地的git仓库来。 这样一来,我们可以保证远程仓库的可靠性,降低远程仓库出问题的风险,相当于做一个备份似的。当然,好处肯定不止这一点。 so...

唯美,不是唯一 5722

git--repo管理多个git

其他网址 搭建repo服务器管理多个git工程_git_songze_lee-CSDN博客 1.repo介绍 Android使用git作为代码管理工具,开发了gerrit进行代码审核以便更好的对代码进行集中式管理。还开发了repo命令行工具,对git部分命令进行封装,将百多个git库有效的组织。 鉴于repo能够管理多个git库,针对一个项目需要多个git库分开管理使用repo就非常方便。如嵌入式项目一般由uboot、kernel、文件系统rootfs、用户程序等组成。这里就以这样的项目组织来搭建r

IT利刃出鞘的博客 1721

git版本管理-repo

Repo是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库; • 从高通或google下载代码是通过repo下载的,是由repo管理的266个git组成的 • l现在使用的git库是将由repo管理266个小git合并成一个git库导入 • 目前导入的repo是将项目定制化的内容取出,拆成由repo管理45个小git; (Repo is a tool that we built on top of Git. Repo helps us manage the many Git repositories, does the uploads to our revision control system, and automates parts of the Android development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android. The repo command is an executable Python script that you can put anywhere in your path. )

Repo:高效管理Git仓库的工具

Repo是Google开发的强大工具,专为高效管理多个Git仓库设计。通过Manifest文件描述仓库依赖,Repo简化同步、分支管理和代码审查流程,支持批量操作,提高团队协作效率,是大型项目不可或缺的版本控制助手。

byte轻骑兵的技术小窝 1万+

如何搭建repo管理环境管理多个git仓库

Repo是一个基于git仓库管理工具,它由python语言实现,使用Repo,可以将很多的git仓库一起打包管理,做统一的git操作,完成任务。 安装repo环境: repo环境包括两部分,第一部分是repo命令本身,它是一个python可执行脚本文件,另一部分是一个名字叫做repo.git仓库。示意如下: 下面我们就逐步安装这两部分: 在root模式下,输入以下命令,安装repo工具: curl https://storage.googleapis.com/git-repo-dow..

tugouxp的专栏 5033

使用一个git仓库管理多个项目

问题:如果本地已经有一个仓库repo1,其中有一个项目proj1在master上。远端有一个仓库repo2,其中有一个项目proj2在master上。此时我想关联两个仓库,怎么处理? 解答: 本地master覆盖远端master。使用git push -f 强制覆盖或者先将远端的master删除,再push。 远端master覆盖本地master。使用clone 远端到本地或者先将本地的mast...

weixin_33829657的博客 9209

Git管理多个远程仓库GitHub和Coding)

原文:https://blog.csdn.net/gorpeln/article/details/89355095?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.baidujs&dist_request_id=19588b92-0670-476d-8bc3-47fe596e2325&depth_1-utm_source=distribute.pc_relevant.none

kfgauss的博客 340

Git多个远端的代码管理

远端代码pull和push 将项目从本地传到码云步骤: 1、码云上新建一个项目 XXXX (项目名) 2、本地创建一个文件夹E:/XXXX,然后使用git bash 3、cd 到本地文件夹中E:/XXXX //如果是在创建的文件中git bash 则此步骤可省略 4、使用 git init 命令 //初始化一个git 本地仓库此时会在本地创建一个 .git 的文件夹 5、使用git...

weixin_40880305的博客 311

Git多账号[同一电脑多个账户ssh-key的管理][配置多个远程仓库][重置分支更新流]

Git使用[同一电脑多个账户ssh-key的管理]

挖到尽头 663

git提交代码到远端仓库方法详解

自己学习到的git关联远端仓库方法,希望可以帮到大家。

m0_74265792的博客 2922

如何将 Git 库推送到远端仓库

Git 库推送到远端仓库一般有两种情况: 1. 本地新建的仓库; 2. clone 的别人的项目到本地。 这里远端我以 Github 为例子,先创建一个空的仓库,如下图: 什么也不加,点击 Create repository, 跳转到下一个界面: 这里也说的明明白白了, 要么创造一个新的仓库,推送到远程;要么推送一个已经存在的仓库。命令也写的很清楚啦: 如果是还未加...

雨落本无晴 8802

git 本地仓添加多个远端仓库

一般来说,添加一个远程仓库就够了,也就是你个人 gitee 或者 github 上对应的 origin 仓库,比如: [root@master GitTest]# git remote -v origin git@gitee.com:L2392863668/GitTest.git (fetch) origin git@gitee.com:L2392863668/GitTest.git (push) 添加远程仓库的命令其实并不复杂,关键是为什么要添加多个远程仓库呢?或者说,添加多个远端仓库以后,需要怎

Looking的网页备忘录和个人知识库 4096

Git:创建本地仓库并关联远端仓库(码云)

1.在本地新建文件夹 2.在本地新建代码文件 3.在工程目录下右键打开git bash(这时本地工程目录还不是一个git仓库) 4.初始化本地仓库 5.将当前目录下的代码文件添加到本地仓库 6.查看当前本地仓库的状态(此时存在暂存但未提交到本地仓库的代码文件) 7.提交改动 8.此时再查看本地仓库的状态(改动都已提交) 9.创建README文件并提交...

JiangDong的博客 2832

git】使用git将本地项目上传到远端仓库(码云)的详细教程

一、使用git将本地项目上传到远端仓库的流程&步骤 注册git账号,安装git客户端 授权,生成秘钥,将公钥添加到码云上 创建远端仓库,并将远端仓库克隆到本地 将本地项目主要目录复制到,第3步刚克隆到本地的远端仓库中。既:本地项目与本地仓库建立连接。 将本地仓库推送到远端仓库中。既:本地仓库远端仓库建立连接。 二、具体操作与截图 1、注册git账号,安装git客户端【本步骤省略】 https://gitee.com/ 2、授权,生成秘钥,并将公钥添加到码云上 打开命令框: windows: 按

familyyan的博客 2577

Git的分支管理远端仓库及标签管理

Git的分支管理远端仓库及标签管理

Miwll的博客 1407

Git远端操作命令

命令主要用于将当前的工作目录和暂存区中的修改保存起来,以便你可以暂时切换到其他分支或进行其他操作,然后再回到原来的分支时重新应用这些保存的修改。保存临时修改:当你在当前分支工作时,想临时切换到其他分支,但又不想提交或丢弃当前的修改时,你可以使用。只能保存与当前分支相关的修改,对于未跟踪的文件或其他分支上的修改不会被保存。后,你可以切换到其他分支进行工作,而不需要担心你的修改会影响其他分支。命令来保存不同的修改,每个保存的修改都会被依次记录下来。后,暂存区的修改会被清空,但工作目录中的修改会保留。

Blue_Pepsi_Cola的博客 6074

Git:完美实现远端仓库迁移,包含提交历史

git迁移远程仓库托管代码

初心不改 2885

Pycharm使用Git进行版本控制(自建远端Git仓库

git版本控制 pycharm使用git进行版本控制 自建git仓库 linux搭建git仓库

@苏丶的博客 1812
上一篇: 2016安卓手机安全隐私之对比与分析
下一篇: android 7.0 system UI之快速启动栏的分析(一)
maetelibom
博客等级 码龄11年 61粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值