0


Linux ——repo下载与使用方法详解

1. 当前源为清华源

sudo apt-get update

更新之。

2. 下载repo

2.1 方法

方法一:

根目录下创建bin文件夹,并且配置环境变量;

$ mkdir ~/bin
$ PATH=~/bin:$PATH

下载repo脚本,并且给与权限:


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

方法二:

根目录下创建bin文件夹,配置环境变量;

$ mkdir ~/bin
$ PATH=~/bin:$PATH

提供清华镜像下载repo文件:

git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

这样直接下载了整个文件夹。

将下载的git-repo文件夹中的repo文件复制到bin下,并且修改权限chmod a+x ~/bin/repo;

$ chmod a+x ~/bin/repo

2.2 网络访问问题

    当你执行完以上步骤之后,理论上就可以正常使用repo了,对于gu鸽但是需要梯子,否则在使用repo init的时候,就会出现如下的错误:

Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

解决》》使用清华镜像:

sudo gedit ~/.bashrc
# repo
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

source 一下生效:

source .bashrc

3. git配置

git config --global user.name "Your Name"
git config --global user.email "[email protected]"
    第一条配置用户名,设置您账号的缺省身份标识;第二条配置邮箱,邮箱是不是gu鸽的都行。如果仅在本仓库设置身份标识,则省略 --global 参数。

4. 公钥生成上传

ssh-keygen -t rsa

生成ssh key,简便做法就是直接按回车,有三个回车。

进目录:

$ cd ~/.ssh/
$ gedit id_rsa.pub 

复制公钥,粘贴到gitlab的SSH KEY里:

5. repo使用

  • repo init
 repo init -u <URL> [<OPTIONS>]
 
 -u  指定repo仓库(即manifest仓库)的url地址, 后面[<OPTIONS>]就是可选的命令参数:
 
Manifest options:
-m :在manifest仓库中选择一个xml文件,如果没有设置,就使用default.xml

-b:选择一个maniest仓库中的一个特殊的分支

repo Version options:(一般来说几乎不会使用这下面的这些选项)
--repo-url:设定repo的版本库地址。

--repo-branch:设定需要检出的分支。

--no-repo-verify:设定不要对repo的里程碑签名进行严格的验证。

--mirror:只在repo第一次初始化的时候使用,建立本地镜像
 
 

就像这样(获取最新版本的 Repo 及其最近的所有错误更正内容):

repo init -u https://android.googlesource.com/platform/manifest
    必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。
  • repo sync
repo sync
默认同步xml文件中定义的所有仓库,也可以单独指定sync哪个或哪些仓库,如下: 
repo sync name1  name2 name3  ... 

除此之外还有如下选项:
-j : 多任务,一般8核心可以开到16任务,过多会起反作用
-c: 只下载当前分支代码
-d: 让工程回退到manifest指定的版本
-f: 如果某个工程同步失败,继续同步

repo sync才是把仓库的东西下下来的指令。

常见错误:fatal: Not a git repository

    在下载Android源码的时候,经常会遇到fatal: Not a git repository 错误,对于这类错误,解决方案就是直接删除相应的目录,然后重新执行repo sync即可。

例如:

fatal: Not a git repository: '/home/android/.repo/projects/here/legacy.git'
 
则直接执行:
rm -rf /home/android/.repo/projects/here/legacy.git
 
然后执行:
repo sync
标签: linux github git

本文转载自: https://blog.csdn.net/wangguchao/article/details/127448175
版权归原作者 口袋里のInit 所有, 如有侵权,请联系我们删除。

“Linux ——repo下载与使用方法详解”的评论:

还没有评论