初学gitrepo的种种

经过各种折腾之后,发现git其实还是很简单的;

首先你需要两台机器,一台作为服务器,一台作为开发机器,开发机器从服务器上拉取代码。

目录

git建仓

开发机器拉取代码

初始化仓代码

repo管理

repo工具的下载

repo同步时,无法访问google或者离线,则可以从国内源或者拷贝一份已经有的

repo同步时,出现账号问题,添加ssh账号

manifest文件的书写


git建仓

在服务器上创建一个文件夹,使用git init 或者 git  init --bare来初始化这个文件夹。这个文件可以命令为file或者file.git,都可以,总之是一个文件夹。

如上图所示,创建两个文件夹git-bare与git-nobare; 然后分别初始化。

不使用bare的方式会在文件夹下创建一个隐藏的.git文件,而使用bare的方式,则没有.git,却有一堆文件,而这堆文件与前者的.git中的文件是一样的。

因此,bare的方式就是将我们的文件设置为了git的工作目录,而非bare则不然;因此大部分时候都用非bare得方式。

开发机器拉取代码

到这里我们就完成了git服务端的设置,接着看开发端。使用如下方式,就可以拉取一份代码了。

git clone dongjian@192.168.147.134:/home/dongjian/cc/git22
git clone dongjian@192.168.147.134:/home/dongjian/cc/git22/.gitgit clone ssh://dongjian@192.168.147.134:22/home/dongjian/cc/git22/.git
git clone ssh://dongjian@192.168.147.134:22/home/dongjian/cc/git22/

可以用git clone 也可以使用git clone ssh, 他们的方式稍有不同,但是都可以下载;然后末尾的文件名,可以是文件夹自己的名字,也可以是下一级的.git名字,总之都是可以的。

使用git remote -v可以看到服务器端这个仓具备fetch与push两个功能。也就是我们既可以拉取代码,也可以push代码到这个仓里。

但是要注意,使用不同的下载方式的仓的地址是不一样的,如下图,origin后面就是地址,可见差别

初始化仓代码

接着我们看看怎么把服务器端的仓填满。只是初始化仓,里面是空的,因此要将最初的代码填入。

我们在开发机器上,先创建一个空文件夹,将自己的源代码放在这个文件夹中,然后使用git init将其初始化;然后执行如下命令,其他前面两条命令会耗时很长。

git status .
git add .
git commit -m "init a repo"
git remote add origin dongjian@192.168.147.134:/home/dongjian/cc/git-nobare/
git push -u origin master

git remote add  origin意思是关联一个远程的仓,然后把本地的代码push到这个仓,这样来完成服务器端仓的代码填充。

我们也可以直接在服务器端的仓里面解压源码,执行add和commit两步即可。他其实就是一个压缩过程。执行完成后,可以将源码删除;而压缩后的文件则是被git隐藏起来了。但是这种情况执行git status的时候,就会出现delte的标记,所以还是按照上面那种操作比较好

如果传输一半没有成功,怎么办呢,删除origin

git remote rm origin

repo管理

repo工具的下载

$curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

repo同步时,无法访问google或者离线,则可以从国内源或者拷贝一份已经有的

前面文章成功下载高通代码_高通源码下载-CSDN博客

提到过怎么下载高通代码,下载完成后,根目录下会有一个.repo,拷贝过来用即可

repo同步时,出现账号问题,添加ssh账号

如下命令用户名@远端服务器地址

ssh-copy-id gerrit@192.168.10.1

manifest文件的书写

首先在你的源码的根目录下创建一个manifest.git的文件,然后在这个文件中创建一个default.xml的文件;一定要是default.xml这个名字; 之后,这个manifest.git文件夹也要git init, 做成一个仓。

default.xml的内容其实就是名字与地址的关联。 我们学习qcom的manifest的时候,就会发现path是必不可少的。

可以看到qcom对无数的子文件夹进行建仓;大概近700个仓;所以有脚本可以对自己的代码这么搞,但是我没有;我用两个文件夹来做实验

<?xml version="1.0" encoding="UTF-8"?>
<manifest><remote fetch="/home/gerrit/cc/android" name="android" review="qcom.com"/><default remote="android" revision="master"/><project name="platform/kernel4.14" path="platform/kernel4.14"/><project name="platform/bootable" path="platform/bootable"/>
</manifest>

如上图,除了remote和default,下面的project就是name和path,只要这个路径对了,那么就能够从远端repo sync同步下代码来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车制造厂设备故障预测与健康管理PHM

在现代汽车制造工业中&#xff0c;设备的可靠性和稳定性对于保证生产线的高效运行至关重要。为了提高生产效率、降低维修成本以及确保产品质量&#xff0c;汽车制造厂逐渐采用设备故障预测与健康管理&#xff08;PHM&#xff09;系统&#xff0c;以实现对设备状态的实时监测和预…

算法基础之快速幂求逆元

快速幂求逆元 核心思想&#xff1a; 逆元&#xff1a; 逆元 ap-2 mod p #include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL pmi(int a,int b,int c){LL res 1;while(b){if(b & 1) res res * a %c;b >> 1;a (LL)…

Jenkins的文档翻译

官网Jenkins.io Jenkins用户文档 欢迎来到Jenkins用户文档-为那些想要使用Jenkins的现有功能和插件特性的人。如果你想通过开发自己的Jenkins插件来扩展Jenkins的功能&#xff0c;请参考extend Jenkins(开发者文档)。 詹金斯是什么? Jenkins是一个独立的、开源的自动化服务…

第七节TypeScript 循环

1、简述 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 循环语句允许我们多次执行一个语句或语句组。 循环语句流程图&#xff…

python学习笔记--异常捕获

异常场景 numinput("input you number:") n9000 try:resultn/int(num)print({} 除以num 结果为{}.format(n,result)) except ZeroDivisionError as err:print("0不可以作为除数&#xff0c;出现报错{}".format(err)) except ValueError as err:print(&quo…

【lesson21】MySQL复合查询(2)子查询

文章目录 子查询测试要用到的表测试要用到的数据单行子查询案例 多行子查询案例 多列子查询案例 在from子句中使用子查询案例 合并查询union案例union all案例 子查询 子查询是指嵌入在其他sql语句中的select语句&#xff0c;也叫嵌套查询 测试要用到的表 测试要用到的数据 单…

坚持提升这个能力,让你越来越强大

哈喽&#xff0c;你好啊&#xff01;我是雷工。 今天在读《张一鸣管理日志》时&#xff0c;看到这么一句话&#xff1a; “产品创新要从根本上解决问题&#xff0c;而不是想办法绕过问题&#xff0c;解决的问题很可能就是将来的核心竞争力。” 这让我想起了亚马逊公司&#x…

LeetCode 热题100——单调栈

​ 个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 写在前面&#xff1a; 递增单调栈&#xff1a;栈中元素从栈底到栈顶依次增大 递减单调栈…

3D模型人物换装系统(二 优化材质球合批降低DrawCall)

3D模型人物换装系统 介绍原理合批材质对比没有合批材质核心代码完整代码修改总结 介绍 本文使用2018.4.4和2020.3.26进行的测试 本文没有考虑法线贴图合并的问题&#xff0c;因为生成法线贴图有点问题&#xff0c;放在下一篇文章解决在进行优化 如果这里不太明白换装的流程可以…

HarmonyOS引导页登陆页以及tabbar的代码说明1

效果 以下代码是东拼西凑出来的。只是为了个人熟悉一下相关模块的使用&#xff1a; 用的知识点&#xff1a; Resouces 此部分分内容可以在项目中找到&#xff1a; resources/base/element/color.json 为项目着色配置&#xff0c;当然也可以正接在代码里写 float.json 为相关…

IPv6路由基础-理论与配置

在企业网络中&#xff0c;IPv6技术的应用越来越普及。IETF组织针对IPv6网络制定了路由协议OSPFv3。 OSPFv3 ff02::5是为OSPFv3路由协议预留的IPv6组播地址。OSPFv3中的路由条目下一跳地址是链路本地地址。OSPFv3是运行在IPv6网络的OSPF协议。运行OSPFv3的路由器使用物理接口的…

浅析 fuse kernel mmap write 过程及性能问题

前言 最近在项目里面用到了fuse文件系统&#xff0c;在使用过程中遇到了一个内核在做mmap write的一个bug&#xff0c;目前并没有从根本上解决这个bug&#xff0c;而是通过修改fuse kernel module的一些参数&#xff0c;绕开了这个bug。这里记录一下这个问题&#xff0c;并顺便…

手把手教你在windows上安装Portainer

前言 大家好&#xff0c;我是潇潇雨声。在之前的文章中&#xff0c;我们探讨了在 Windows 上安装 Docker 的方法。今天&#xff0c;我将简要介绍一个开源的轻量级容器管理工具——Portainer&#xff0c;它类似于 navicat。Portainer 是一个与 navicat 类似的工具&#xff0c;但…

Amazon Toolkit — CodeWhisperer 使用

tFragment--> 官网&#xff1a;https://aws.amazon.com/cn/codewhisperer/?trkcndc-detail 最近学习了亚马逊云科技的 代码工具&#xff0c;感慨颇多。下面是安装 和使用的分享。 CodeWhisperer&#xff0c;亚马逊推出的实时 AI 编程助手&#xff0c;是一项基于机器学习…

详解数据科学自动化与机器学习自动化

过去十年里&#xff0c;人工智能&#xff08;AI&#xff09;构建自动化发展迅速并取得了多项成就。在关于AI未来的讨论中&#xff0c;您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语。事实上&#xff0c;这些术语有着不同的定义&#xff1a;如今的自动…

【QT Visual Studio环境配置】error MSB8020: 无法找到 v141/v142 的生成工具(完整版)

首先要了解V**平台工具集根据你安装的Visual Studio版本不同而有所区别&#xff0c;知道这个就容易解决问题了&#xff0c;确定你安装的那个版本&#xff0c;需要使用哪个工具集。 v143–>VS2022v142–>VS2019v141–>VS2017v140–>VS2015v120–>VS2013 一、解决…

机器学习之线性回归(Linear Regression)附代码

概念 线性回归(Linear Regression)是机器学习中的一种基本的监督学习算法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它假设输入变量与输出变量之间存在线性关系,并试图找到最佳拟合线来描述这种关系。 在简单线性回归中,只涉及两个变量:一个是自变量…

MySQL:通过官方mysql server,搭建绿色版mysql服务器(Windows)

1. 官网下载mysql server 下载mysql server的zip文件&#xff0c;地址&#xff1a; https://downloads.mysql.com/archives/community/ 解压后 2. 初始化数据库 运行cmd&#xff0c; 进入bin目录&#xff0c;运行 mysqld --initialize-insecureinitialize-insecure说明如…

Jenkins 插件下载速度慢安装失败?这篇文章可能解决你头等难题!

Jenkins部署完毕&#xff0c;如果不安装插件的话&#xff0c;那它就是一个光杆司令&#xff0c;啥事也做不了&#xff01; 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI/CD必要插件。 但是问题来了&#xff0c;jenkins下载插件速度非常慢&#xff0c…

Educational Codeforces Round 160 (Div. 2) A~E

A.Rating Increase&#xff08;思维&#xff09; 题意&#xff1a; 给出一个仅包含数字的字符串 s s s&#xff0c;要求将该字符串按以下要求分成左右两部分 a , b a,b a,b&#xff1a; 两个数字均不包含前导 0 0 0 两个数字均大于 0 0 0 b > a b > a b>a 如果…