在 Android 内核中做一些工作。我对 git 很熟悉,但对 repo 不是特别熟悉,所以我阅读了以下文档:http: //source.android.com/source/version-control.html。据我了解,以及围绕主题分支进行试验,repo start BRANCH_NAME
与git checkout -b BRANCH_NAME
. 我的理解是正确的,还是我遗漏了一些微妙而重要的细节?
问问题
9277 次
2 回答
6
不同之处在于在 .git/config 中为您的分支repo start
设置remote
和属性:merge
[branch "YOUR_BRANCH_HERE"]
remote = aosp
merge = master
如果没有这些,repo 将不知道如何在您repo upload
稍后运行时正确上传您的更改,并且它会表现得好像您的新分支根本不存在。
(There's also some logic in there that lets you create the new branch for every project in the repo simultaneously with --all
, but that's just a convenience thing.)
于 2014-05-13T22:37:52.580 回答
3
查看 repo start的start.py
源代码,我认为主要区别在于对包含在 Android 项目中的清单文件的管理。
从清单中指定的修订开始,开始一个新的开发分支。
要添加到Trevor Johns的答案,您需要检查“如何使现有的 Git 分支跟踪远程分支? ”(当您不使用时repo start
):
git checkout -b newBranch -t aosp/master
这将在与新分支关联的配置中设置远程和合并(-t
=“track”)。
一个简单的git checkout -b
不会设置任何东西,并创建一个纯粹的本地分支(不跟踪任何上游分支到远程仓库)
于 2013-02-22T07:59:39.883 回答