什么是回购以及Google为何使用它?

Osa*_*mal 37 git android repository

当我想获得Android源代码时,我知道我必须使用"repo".回购是什么?为什么他们使用repo而不只是使用GIT?,并且有一个repo的GUI,使我能够暂停/恢复同步,因为每次我偶尔断开连接似乎repo从一开始就开始同步!

bra*_*ter 22

Repo和git - 它们是什么,它们的用途 - 在source.android.com上有解释

要使用Android代码,您需要同时使用Git和Repo.

Git是一个开源版本控制系统,旨在处理分布在多个存储库中的大型项目.在Android的上下文中,我们使用Git进行本地操作,例如本地分支,提交,差异和编辑.

Repo是我们在Git之上构建的工具.Repo帮助我们管理许多Git存储库,上传到我们的版本控制系统,并自动化部分Android开发工作流程.Repo并不是要取代Git,只是为了让它更容易在Android环境中使用Git.repo命令是一个可执行的Python脚本,您可以将其放在路径中的任何位置.

据我所知,Repo没有GUI,但是在上面的网站上有很多指导用于控制Repo从命令行做什么.

  • 放下Repo是我工作过的最糟糕的工具/脚本之一...... (4认同)
  • 我明确地确认了eibrahim的观点.`repo`为`git`增加了一定程度的复杂性,这已经非常复杂了.此外,许多基本命令没有在`repo`中实现(如`log`或`rebase`),如果你想正常工作,你必须在`repo`上面编写自己的脚本(与本地更改同步是很复杂的)使用`git`,使用`repo`这是WWII).另一个例子:`repo`将把下面的gits置于分离状态,这将使它们更难管理. (3认同)
  • http://source.android.com/source/developing.html:titxt url截至此发布日期 (2认同)
  • 我不是专家.我加入了一个正在使用它的项目.学习曲线陡峭,事物的连线方式非常直观,看起来过于设计.也许这是我们使用它的方式,但我真的不喜欢它,似乎其他开发者分享我的观点.如果你有多个回购,我会推荐普通的git和子模块.抱歉没有太具体,但就像我说的,我不是专家 - 只是一个心怀不满的用户/开发人员. (2认同)

Mat*_*rni 20

正如在android网页中提到的,repo不会替换git.它只是一个工具git,可以帮助您管理多个git存储库.

例如,假设我有一个具有很多功能的大项目,并且我有几个团队正在处理每个功能,我为每个功能创建了一个存储库.例如,假设我的版本库wifi,telephony,power management等这个动作有感觉,当你的功能有不同的生命周期.例如,如果我不在wifi我的下一个版本中触摸该功能,但我将修改所有其余功能.因此,在这种情况下,我的项目或产品分布在几个不同的git存储库中.

因此,为了获得我的项目的集中照片(我项目的一个特定时刻,例如里程碑),我需要获得每个存储库的修订版(git hash或tag).请记住,每个功能都有一个存储库.手动我可以做到,但可能非常痛苦.因此,使用repo,您​​可以拥有一个MANIFEST链接到每个git仓库的所有修订版本(每个功能一个)并且具有我整个项目的特定图片.

简单地说,我可以说这是一种管理集中式多个git存储库的方法,这些存储库是分散的.

使用repo,您​​可以获得更多功能,而不仅仅是在特定点结账.有关更多信息,请访问http://source.android.com/source/using-repo.html.