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

本文详述如何在一个Git项目中管理多个远端仓库,包括工程配置以适应不同平台,以及如何设置和同步不同远端仓库的提交。通过实例展示了在Android项目中配置平台特定资源,以及使用git进行分支切换和cherry-pick操作来同步代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者: 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 ……


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值