2

我使用 repo 下载了 android 源代码。但是,如果我尝试在 .repo 所在的目录中打印 git status ,它会说

 git status
 fatal: Not a git repository (or any of the parent directories): .git

我该怎么做才能让 git 在那个目录中工作?

ls -a 的输出:

cts       external    libnativehelper  prebuilts
abi       dalvik       frameworks  Makefile         .repo
bionic    development  gdk         ndk              sdk
bootable  device       hardware    packages         system
4

2 回答 2

5

repo用于轻松管理多个相关git存储库。顶级目录 (TLD) 包含目录.repo. repo因此,您可以从 TLD调用命令。

.git但是顶层没有目录。这告诉您 TLD 没有 git 存储库。事实上,repo管理的许多 git 存储库都在各个子目录中。因此,您必须到cd包含文件夹的特定子目录才能为该存储库.git发出命令。git

如果您希望对由 管理的所有 git“项目”执行相同的命令,请从 TLDrepo发出以下命令:repo

repo forall -c COMMAND

于 2013-01-02T14:22:17.223 回答
1

您使用 repo该存储库的工具。Android 源站点提供了一些关于版本控制的好信息。

Repo 是我们构建在 Git 之上的存储库管理工具。Repo 在必要时统一了许多 Git 存储库,上传到我们的修订控制系统,并自动化部分 Android 开发工作流程。Repo 并不是要取代 Git,只是为了让在 Android 环境中使用 Git 更容易。repo 命令是一个可执行的 Python 脚本,您可以将其放在路径中的任何位置。在使用 Android 源文件时,您将使用 Repo 进行跨网络操作。例如,使用单个 Repo 命令,您可以将多个存储库中的文件下载到本地工作目录中。

我不确定如何使 git 命令在该目录中工作,但是从这个链接和上面的定义来看,我相信 repo 实际上具有运行所有 git 功能的能力。检查上面的链接以获取参考。

回购状态 [项目列表]

在指定的每个项目中显示与当前工作目录、暂存区域和分支 (HEAD) 上的最新提交有关的文件状态。

于 2013-01-02T12:41:39.207 回答