Mac下repo,gerrit的配置与sync代码

Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。要详细了解 Repo,请参阅开发部分。

要安装 Repo,请执行以下操作:

  1. 1.确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:

    mkdir ~/bin
    PATH=~/bin:$PATH
    
  2. 2.下载 Repo 工具,并确保它可执行:

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

 

安装 Repo 后,设置您的客户端以访问 Android 源代码代码库:

  1. 1.创建一个空目录来存放您的工作文件。如果您使用的是 MacOS,必须在区分大小写的文件系统中创建该目录。为其指定一个您喜欢的任意名称:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  2. 2.使用您的真实姓名和电子邮件地址配置 Git。要使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号关联的电子邮件地址。确保这是您可以接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。

    
    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    
  3. 3.运行 repo init 以获取最新版本的 Repo 及其最近的所有错误更正内容。您必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。

    repo init -u https://android.googlesource.com/platform/manifest
    

    4.要对“master”以外的分支进行校验,请使用 -b 来指定相应分支。要查看分支列表,请参阅源代码标记和版本

    repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
    

初始化成功后,系统将显示一条消息,告诉您 Repo 已在工作目录中完成初始化。客户端目录中现在应包含一个 .repo 目录,清单等文件将保存在该目录下。

 

配置Gerrit

首先,进入 ~/.ssh 目录,使用 ssh-keygen 命令生成SSH key:

在上面的示例中,生成了一对公私钥文件(test和test.pub,其中test.pub是公钥文件)。

然后,创建 ~/.ssh/config 文件,并添加如下内容(注意,请把下面的用户名“yctu”替换为你自己的LDAP账户名):

最后,访问 公司gerrit网址 ,并使用账户登录。进入Settings,点开”SSH Public Keys”,点击“Add Key...”,把前面的test.pub文件内容粘贴上去,最后点击“Add”,完成配置。(如果有多个电脑,可以分别为之添加相应的Key)

One more thing,测试一下:

$ ssh gerrit.mobvoi.com

  ****    Welcome to Gerrit Code Review    ****

  Hi yctu, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://yctu@gerrit:29418/REPOSITORY_NAME.git

Connection to gerrit.mobvoi.com closed.

如果看到上面的内容,表示Gerrit配置OK。

 

最后,进入项目文件,repo init -u https://android.googlesource.com/platform/manifest;repo sync;同步代码到本地

 

 

同步中可能出现不停让输入密码的问题,估计是Mac系统与repo的兼容问题,按下面套路来可以解决

macosx安装了git,clone代码的时候一直提示如下:Are you sure you want to continue connecting (yes/no)?

输入yes不起作用,还是提示。

解决办法:git config --global credential.helper osxkeychain

不提示yes/no之后又会一直提示confirm passphrase:Enter passphrase for key '/Users/xx/.ssh/id_rsa'

解决办法:/usr/bin/ssh-add -K

上一篇:【Gerrit】Gerrit cmd query (gerrit命令行查询change信息)


下一篇:Gerrit简单介绍