如何通过 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 存储库的人共享代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务器上设置 git 存储库,并允许多个用户执行 git pull,而不是由一个用户拥有?

如何通过 Android Studio 在我的树莓派上使用本地 Git 服务器?

如何在有和没有 ssh 身份验证的情况下将 Git 与两个不同的存储库一起使用?

是否可以在工件中拥有本地 git 存储库?

git 分支和标签如何存储在磁盘中?

如何在 TFS 中仅删除一个 Git 存储库?