如何通过 git 与其他拥有 Android 存储库的人共享代码?

Posted

技术标签:

【中文标题】如何通过 git 与其他拥有 Android 存储库的人共享代码?【英文标题】:How do I share code via git with others having the Android repo? 【发布时间】:2010-10-13 04:19:35 【问题描述】:

我想与其他人一起处理一些android 代码,并且需要设置存储库以在团队中本地使用。但是,似乎repo 不允许我这样做。在 android repo 中克隆 git 存储库也不会像这样:

$ git clone /var/android/.repo/projects/bionic.git/

我收到以下错误消息:

Initialized empty Git repository in /home/user/mydroid/bionic/.git/
0 blocks
Warning: Remote HEAD refers to nonexistent ref, unable to checkout.

有没有人尝试过成功地与其他人一起在 Android 中的 git 存储库上工作,而无需发送到 Android 项目本身?


我还尝试执行以下操作,我在共享计算机上和本地计算机上启动了一个客户端,如下所示:

$ repo init -u git://android.git.kernel.org/platform/manifest.git

我也尝试像这样将单独项目(例如仿生)的遥控器添加到共享计算机,但出现错误:

$ git clone /initech/android/bionic
fatal: cannot clone empty repository

我也尝试这样做:

$ git clone /initech/android/.repo/projects/bionic.git/
Initialized empty Git repository in /home/user/mydroid/bionic/.git/
0 blocks
Warning: Remote HEAD refers to nonexistent ref, unable to checkout.

它找到一个 git 存储库,克隆它,但即使远程中有一个主题分支,也找不到任何对 checkout 的引用。什么给了?

【问题讨论】:

【参考方案1】:

我不确定 Repo 是什么或做什么,但在我看来你想克隆 git://android.git.kernel.org/platform/bionic.git:

git clone --bare git://android.git.kernel.org/platform/bionic.git

然后可以再次克隆此克隆:

git clone bionic.git bionic-jim
cd bionic-jim
#edit
git commit -a -m "foo"
git push

更改将被推送到../bionic.git。然后有人必须进入 bionic.git 并推送到某个上游存储库。

【讨论】:

不,我不想从 android.git.kernel.org 克隆它。这也行不通。 它可以从 android.git.kernel.org 获取,但我想在自己的遥控器上进行。 更新:重新克隆有效。我会更多地尝试这个。谢谢。 是的,第一个克隆是你自己的远程,然后任何人都可以从中克隆(通过 SSH 或其他方式)【参考方案2】:

消息“警告:远程 HEAD 引用不存在的 ref,无法结帐。”仅告诉您 HEAD 链接不存在,因此 Git 不知道要检出哪个修订版到您的本地工作目录。但是,.git 目录是正常创建和填充的。只需执行git checkout <whatever-branch-you-want> 并开始破解。

【讨论】:

以上是关于如何通过 git 与其他拥有 Android 存储库的人共享代码?的主要内容,如果未能解决你的问题,请参考以下文章