初学git&repo的种种

这篇具有很好参考价值的文章主要介绍了初学git&repo的种种。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

目录

git建仓

开发机器拉取代码

初始化仓代码

repo管理

repo工具的下载

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

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

manifest文件的书写


git建仓

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

初学git&repo的种种,android,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/.git

git 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&repo的种种,android,git

初始化仓代码

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

我们在开发机器上,先创建一个空文件夹,将自己的源代码放在这个文件夹中,然后使用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是必不可少的。

初学git&repo的种种,android,git可以看到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同步下代码来。文章来源地址https://www.toymoban.com/news/detail-773840.html

到了这里,关于初学git&repo的种种的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用git-repo管理多个git仓库

    step 1: 下载repo git-repo下载可在服务器端通过以下任一方式下载。 git clone https://gerrit.googlesource.com/git-repo (谷歌官方源) git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo (国内清华源) git clone git-repo - Git at Google (国内中科大源) step 2 初始化工程和mainifest git仓库 step 3: 上传每个git的代

    2024年02月03日
    浏览(39)
  • repo和git的常用命令

    repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。因此,使用repo工具之前,请先确保已经安装git。 repo是一个用于管理多个Git仓库

    2024年02月16日
    浏览(40)
  • Repo命令与git的关系

    Repo命令与git的关系是很密切的。 我们都知道,git是一个开源的版本控制系统,常用在大型项目的管理上。 我们对repo的使用和了解就比较少了。Repo是一个基于Git构建出来的工具,它的出现不是为了取代Git,而是为了更方便开发者使用Git这个工具。repo脚本的部分截图: 事实上

    2024年02月01日
    浏览(39)
  • Git 更改remote repo 地址

    我们想更换远程 repo 地址, 因为我们仓库更换了名称. git remote rename origin 查看现在的 romote 地址 参考文档 https://www.cnblogs.com/Nyan-Workflow-FC/p/14454788.html 分享快乐,留住感动. \\\'2023-12-10 06:53:23\\\' --frank

    2024年02月04日
    浏览(34)
  • 【Android】Manifest和Repo详解

    Manifest是用于描述Android项目或库的文件。它包含有关项目的信息,如包名、权限要求和组件(如活动、服务和广播接收器)。 Repo是用于管理Git仓库的工具。它是由Google开发的,用于管理Android源代码库。Repo允许用户将多个Git仓库组合在一起,并在这些仓库之间进行协作。 g

    2024年02月07日
    浏览(42)
  • Python git.Repo 获取commit信息

     在git中可以使用--pretty=format命令修饰日志: 常用的格式如下: 格式 说明 %H 输出commit id(完整) %h 输出commit id(前10位) %s 输出commit message( git commit -m \\\"xxx\\\"中的内容 ) %cd 输出commit date(日期+时间) date=\\\'format:%Y%m%d\\\' 设置%cd的输出格式: 年份:%Y 月份:%m 天数:%d 小时:

    2024年02月05日
    浏览(36)
  • win git filter-repo教程

    git filter-repo 是一个用于过滤和清理 Git 仓库历史的工具,它可以高效地批量修改提交历史中的文件内容、删除文件、重命名文件以及进行其他历史重构操作。相较于 git filter-branch ,它通常更快且更易于使用。 以下是一个基本示例,说明如何使用 git filter-repo 来删除仓库中特定

    2024年04月12日
    浏览(30)
  • repo工具是如何简化我们使用git的?

    《repo与git的关系》让我们知道如何在linux配置repo。repo是一个python写的脚本,脚本里依然用git命令来管理仓库,git命令是很多的,功能很强大。往往,功能越强大,就意味着越灵活,也就意味着学习它是需要花较多时间和精力的。另外一个事实是,每个开发都不会用完git所有

    2024年02月01日
    浏览(41)
  • git仓库体积过大,如何减小?git仓库体积压缩,使用git-filter-repo删除历史大文件

    如果我们在使用的过程中不小心将较大的二进制文件加入到仓库中,那么随着我们提交次数的增多仓库的体积将会不断的膨胀,例如我在项目中每次都会编译出一些so库文件,但是我并没有忽略这些文件,每次都会提交,随着时间的推移仓库体积不断膨胀,将不能再推送到远

    2024年02月16日
    浏览(40)
  • 解决repo sync ( git )报错: git: ‘remote-https‘ is not a git command

    在Ubuntu 18.04上下载Android源码,遇到报错:git: ‘remote-https’ is not a git command。 使用apt命令升级git到最新版本,不能解决这个问题。 使用GitHub或者国内的git服务,用ssh方式的下载代码是可以的,HTTPS的方式会报同样的错误。 下载git源码,在本地编译: 看网上说需要有libcurl4-

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包