目录
1. 当前源为清华源
2. 下载repo
2.1 方法
2.2 网络访问问题
3. git配置
4. 公钥生成上传
5. 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 "you@example.com"
第一条配置用户名,设置您账号的缺省身份标识;第二条配置邮箱,邮箱是不是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即可。文章来源:https://www.toymoban.com/news/detail-786050.html
例如:文章来源地址https://www.toymoban.com/news/detail-786050.html
fatal: Not a git repository: '/home/android/.repo/projects/here/legacy.git'
则直接执行:
rm -rf /home/android/.repo/projects/here/legacy.git
然后执行:
repo sync
到了这里,关于Linux ——repo下载与使用方法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!