AOSP 存储库工具检查每个 git 存储库的具体内容是什么?

Mak*_*aks 2 git repository android-source

使用来自 AOSP 的“repo”(用 python 编写)工具,当您使用它的“sync”命令时,根据我在此处阅读的其他答案,例如(Android repo manifest repository 如何工作?)它将检出分支在该 git repo 的清单中指定。

但是,这并没有匹配与我实际看到进入git的本地回购协议,在那里我得到的一个时:

aosp@aosp:/aosp/android-x86-jb42/bionic$ git branch 
* (no branch)
Run Code Online (Sandbox Code Playgroud)

并且 .git/HEAD 包含一个 SHA 而不是分支引用路径的引用。所以对我来说,它看起来更像是在一个独立的头上,但如果我手动这样做(检查特定提交),git branch 的结果将在输出中显示 sha1,而不仅仅是上面的“(无分支)”。

这里发生了什么?

mru*_*jay 5

repo sync 相当于下面的 git 命令:

 git remote update
 git rebase origin/branch
Run Code Online (Sandbox Code Playgroud)

如果要检查它在内部运行的命令,请使用 --trace 和 repo 命令。例如

repo --trace sync 
Run Code Online (Sandbox Code Playgroud)