Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。要详细了解 Repo,请参阅开发部分。
要安装 Repo,请执行以下操作:
-
1.确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:
mkdir ~/bin PATH=~/bin:$PATH
-
2.下载 Repo 工具,并确保它可执行:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
安装 Repo 后,设置您的客户端以访问 Android 源代码代码库:
-
1.创建一个空目录来存放您的工作文件。如果您使用的是 MacOS,必须在区分大小写的文件系统中创建该目录。为其指定一个您喜欢的任意名称:
mkdir WORKING_DIRECTORY cd WORKING_DIRECTORY
-
2.使用您的真实姓名和电子邮件地址配置 Git。要使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号关联的电子邮件地址。确保这是您可以接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。
git config --global user.name "Your Name" git config --global user.email "you@example.com"
-
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