初学gitrepo的种种

2023-12-21 20:28
文章标签 初学 种种 gitrepo

本文主要是介绍初学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同步下代码来。

这篇关于初学gitrepo的种种的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/521383

相关文章

Vue初学-简易计算器

最近在学习Vue的指令,做了一个简易计算器,比较适合刚入门的人参考学习。用到的知识点有: 1.插值表达式 2.v-model,双向绑定+、-、*、/、**等操作符 3.v-show,控制操作数2是否显示,乘方时不显示操作数2 4.methods选项,定义了calculate ()方法,实现各种运算 5.watch选项,监听selected的值的变化。 下面是程序的执行效果: 如果选择的是**乘

Mindspore 初学教程 - 3. Tensor 张量

张量(Tensor)是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在  n n n 维空间内,有  n r n^{r} nr 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。 r r r 称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 张量是一种特殊的数据结构,

Python 初学入门必会基础知识

引言 Python 是一种易学易用的编程语言,适用于各种应用场景,包括网站开发、数据分析、人工智能等。对于零基础的学习者来说,掌握 Python 编程语言是一个很好的起点。本文将详细介绍零基础学习 Python 所需的知识点,帮助初学者快速入门。 CSDN大礼包:《2024年最新全套学习资料包》免费分享 1.首先需要安装Python 学习 Python 的第一步是安装 Python

遗传算法Github初学

遗传算法的理论是根据达尔文进化论而设计出来的算法:人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因 遗传算法(genetic algorithm——GA)是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解依据某些适应

初学java——关于数组容易忽视的地方总结

1:静态初始化:有程序员显示指定每个数组的初始化,由系统决定数组的长度。      动态初始化:程序员只指定数组长度,由系统为数组元素分配初始值。 2:java数组变量是一种引用类型的变量,引用的是堆内存中数组对象,而不是栈内存中的数组变量。例如数组int[] A={1,2,3};int[] B={4,5,6};当执行下面语句时:A=B;则int[] A={4,5,6};引用数组A时,变量为数

初学流量分析

一、基本知识           比赛中提供一个包含流量数据的 PCAP 文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。     PCAP 这一块作为重点,复杂的地方在于数据包里充满着大量无关的流量信息,因此如何分类和过滤数据是参赛者需要完成的工作。 总的来说有以下几个步骤 总体把握 协议分级端点统计过滤赛选 过滤语法Host,Protocol,contain

初学机器学习的方法及框架了解

程序员初学机器学习的四种方式 【机器学习实验】scikit-learn的主要模块和基本使用 28款GitHub最流行的开源机器学习项目 Python机器学习库scikit-learn实践 最好的Python机器学习库

初学GDB(2)

以The C Programming Language中1.9节的程序为例,试用了以下命令: 1.backtrace,简写bt,查看函数调用的顺序(函数调用栈的信息); 2.frame N,切换到栈编号为N的上下文中; 3.info frame,简写info f,查看当前函数调用的栈帧信息 ; 4.info locals,查看当前局部变量的值; 5.info args,查看当前函数参数的值; 6.

初学GDB(1)

以The C Programming Language 1.5.1节中的程序copy.c为例: #include <stdio.h>main(){int c;while ((c = getchar()) != EOF){putchar(c);}} 用gcc进行编译gcc -g copy.c -o copy,-g表示生成调试信息。 然后就可以用gdb进行调试了gdb copy -q,-q

【初学人工智能原理】【14】机器学习:最后一节课也是第一节课(完结)

前言 本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。 代码及工具箱 本专栏的代码和工具函数已经上传到GitHub:1571859588/xiaobai_AI: 零基础入门人工智能 (github.com),可以找到对应课程的代码 正文 随着课程的结束,我们仿佛在知识的海洋中航行了很久,有时感觉收获颇丰,有时又觉得仍有许多未知。这就是本次课程的目的,通过最简单