一种基于Shell脚本的Git代码简化的管理方法技术

技术编号:24035069 阅读:32 留言:0更新日期:2020-05-07 01:40
本发明专利技术属于数据处理技术领域,公开了一种基于Shell脚本的Git代码简化的管理方法,包括如下步骤:S1:同步源码,并删除第一套源码中后缀名为.repo的代码信息;S2:建立代码仓库;S3:最新第二套源码,建立目标目录文件夹;S4:获取差异信息,并保存至更新代码文件中;S5:将更新代码文件中每个代码文件相对根目录的绝对路径进行拼接,并将其保存至路径文件中;S6:在第二套源码中提取对应的代码文件,并将代码文件保存至目标目录文件夹中;S7:将目标目录文件夹中的代码文件与第一套源码进行对比,获取源码的修改记录。本发明专利技术解决了现有技术存在的成本投入,并且不能直观的对比代码,进行代码管理的问题。

A simplified management method of GIT code based on shell script

【技术实现步骤摘要】
一种基于Shell脚本的Git代码简化的管理方法
本专利技术属于数据处理
,具体涉及一种基于Shell脚本的Git代码简化的管理方法。
技术介绍
Git是一个开源版本管理系统,只在处理各种知识库发布的大型项目,比如本地分支化、提交、对比和编辑。Repo是基于Git工具的知识库管理系统工具,改工具可以统一管理Git知识库并提交源码到版本管理系统,是的Android项目的开发流程自动化。在Android的版本迭代史中,Git曾经是我们开发者最熟悉的代码管理工具。随着Android版本的更新,越来越多的功能兼容进系统中最直接的表现是,代码越来越大,对于Google来讲使用单一的Git管理整个Android源码已经无法满足他们的需求,故而推出了repo。repo的本质类似Shell脚本,使用它讲Android源码分解为一千多个仓库,这样可以方便原厂开发时更好的管理代码。对于小公司来讲,其开发的内容较少并不需要分解源码,现有技术将源码分解为多个仓库,反而加大了成本投入,并且不能直观的对比代码,进行代码管理。故而现在需要一种能在使用repo同步原厂代码后,能够高效生成以及合并到自己创建的git仓库的一种方法。
技术实现思路
为了解决现有技术存在的上述问题,本专利技术目的在于提供一种基于Shell脚本的Git代码简化的管理方法。本专利技术所采用的技术方案为:一种基于Shell脚本的Git代码简化的管理方法,包括如下步骤:S1:将源码同步至本地服务器,所述源码包括代码相同的第一套源码和第二套源码,并删除第一套源码中后缀名为.repo的代码信息;S2:进行初始化,即建立代码仓库,并将第一套源码和第二套源码保存至代码仓库中;S3:将本地服务器上最新的修改记录同步至第二套源码,并使用脚本命令在代码仓库中存放源码的根目录中建立目标目录文件夹patch_out;S4:在代码仓库中建立更新代码文件updatecode.txt,使用repo命令获取第一套源码和同步后的第二套源码的差异信息,并使用指定格式将差异信息保存至updatecode.txt中;S5:在代码仓库中建立路径文件path.txt,使用脚本命令将updatecode.txt进行转换,即将updatecode.txt中每个代码文件相对根目录的绝对路径进行拼接,并将拼接后的绝对路径保存至path.txt中;S6:使用脚本命令根据path.txt中所有的绝对路径在第二套源码中提取对应的代码文件,并将代码文件保存至patch_out中;S7:将patch_out中的代码文件与第一套源码进行对比,获取源码的修改记录,实现代码的管理。进一步地,代码仓库为Git仓库。进一步地,脚本为Shell脚本,脚本命令为Shell命令。进一步地,步骤S6和步骤S7之间,还包括步骤S6.5,步骤S6.5:判断步骤S6提取的代码文件中是否包括需要删除的代码文件,若是则进行提示,并进入步骤S7,否则直接进入步骤S7。进一步地,提示方法为:根据需要删除的代码文件建立提示文件NoSuchFile.txt,并将NoSuchFile.txt保存至patch_out中。进一步地,步骤S7中,使用BCompare工具将patch_out中的代码文件与第一套源码进行对比。本专利技术的有益效果为:本专利技术在进行代码的管理时只需要生成一个单一的Git仓库,从而能够直观的直接观察整套代码的状态,同时将生成的patch_out文件中的代码文件与Git仓库中的源码进行对比,只需要对比更新的几个文件,而不需要将整套的源码进行对比,就能获取修改信息,大大简化了Git仓库中需要与源码进行对比的代码,节省了大量的时间和成本投入,对代码的管理更加便捷。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是基于Shell脚本的Git代码简化的管理方法流程框图。具体实施方式下面结合附图及具体实施例来对本专利技术作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本专利技术,但并不构成对本专利技术的限定。本专利技术公开的功能细节仅用于描述本专利技术的示例实施例。然而,可用很多备选的形式来体现本专利技术,并且不应当理解为本专利技术限制在本专利技术阐述的实施例中。应当理解,本专利技术使用的术语仅用于描述特定实施例,并不意在限制本专利技术的示例实施例。若术语“包括”、“包括了”、“包含”和/或“包含了”在本专利技术中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。实施例1:实施例中所包含的目标目录文件夹patch_out、更新代码文件updatecode.txt、路径文件path.txt以及提示文件NoSuchFile.txt,在实际实施过程中,文件和文件夹的名称或表达方式可能不同,但实际采用的方式是一样的。本实施例提供一种基于Shell脚本的Git代码简化的管理方法,如图1所示,包括如下步骤:S1:将源码同步至本地服务器,所述源码包括代码相同的第一套源码和第二套源码,并删除第一套源码中后缀名为.repo的代码信息;S2:进行初始化,即建立Git仓库,并将第一套源码和第二套源码保存至Git仓库中;S3:将本地服务器上最新的修改记录同步至第二套源码,并使用Shell命令在Git仓库中存放源码的根目录中建立目标目录文件夹patch_out,用于存放以下步骤生成的中间文件;建立目标目录文件夹patch_out的具体代码为:S4:在Git仓库中建立更新代码文件updatecode.txt,使用repo命令获取第一套源码和同步后的第二套源码的差异信息,并使用指定格式将差异信息保存至updatecode.txt中;建立更新代码文件updatecode.txt的具体代码为:updatecode.txt的具体代码为:S5:在Git仓库中建立路径本文档来自技高网...

【技术保护点】
1.一种基于Shell脚本的Git代码简化的管理方法,其特征在于:包括如下步骤:/nS1:将源码同步至本地服务器,所述源码包括代码相同的第一套源码和第二套源码,并删除第一套源码中后缀名为.repo的代码信息;/nS2:进行初始化,即建立代码仓库,并将第一套源码和第二套源码保存至代码仓库中;/nS3:将本地服务器上最新的修改记录同步至第二套源码,并使用脚本命令在代码仓库中存放源码的根目录中建立目标目录文件夹patch_out;/nS4:在代码仓库中建立更新代码文件updatecode.txt,使用repo命令获取第一套源码和同步后的第二套源码的差异信息,并使用指定格式将差异信息保存至updatecode.txt中;/nS5:在代码仓库中建立路径文件path.txt,使用脚本命令将updatecode.txt进行转换,即将updatecode.txt中每个代码文件相对根目录的绝对路径进行拼接,并将拼接后的绝对路径保存至path.txt中;/nS6:使用脚本命令根据path.txt中所有的绝对路径在第二套源码中提取对应的代码文件,并将代码文件保存至patch_out中;/nS7:将patch_out中的代码文件与第一套源码进行对比,获取源码的修改记录,实现代码的管理。/n...

【技术特征摘要】
1.一种基于Shell脚本的Git代码简化的管理方法,其特征在于:包括如下步骤:
S1:将源码同步至本地服务器,所述源码包括代码相同的第一套源码和第二套源码,并删除第一套源码中后缀名为.repo的代码信息;
S2:进行初始化,即建立代码仓库,并将第一套源码和第二套源码保存至代码仓库中;
S3:将本地服务器上最新的修改记录同步至第二套源码,并使用脚本命令在代码仓库中存放源码的根目录中建立目标目录文件夹patch_out;
S4:在代码仓库中建立更新代码文件updatecode.txt,使用repo命令获取第一套源码和同步后的第二套源码的差异信息,并使用指定格式将差异信息保存至updatecode.txt中;
S5:在代码仓库中建立路径文件path.txt,使用脚本命令将updatecode.txt进行转换,即将updatecode.txt中每个代码文件相对根目录的绝对路径进行拼接,并将拼接后的绝对路径保存至path.txt中;
S6:使用脚本命令根据path.txt中所有的绝对路径在第二套源码中提取对应的代码文件,并将代码文件保存至patch_out中;
S7:将patch_out中的代码文件与第一套源码进行...

【专利技术属性】
技术研发人员:罗宵
申请(专利权)人:深圳市华卓智能科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1