為什麼android使用repo而不是直接使用git管理工程呢?

時間 2021-05-30 15:09:55

1樓:柯伊柏

但是我有乙個問題。比如我如果修改到了frameworks又修改到了vendor目錄,那麼我是分別在兩個目錄裡都做一下git log 提交嗎?

2樓:Watson

如果不想額外引進repo工具,並且開發團隊人不多。可以考慮使用 git-subtree . 克服了 git-submodule 的一些缺點,可用!

3樓:叛逆者

其實,說到底是因為原生的git沒法搞定那麼大的單一git庫,而submodule又不好用,所以只能在git之上套一層repo來管理。repo有repo的毛病。比如原先經常跟著跟著突然發現乙個檔案沒有了,找半天才發現挪到另乙個git庫里。

這種情況很頭大。而作為單一庫的話,所有歷史都是完整的,很容易可以追蹤乙個檔案的每一次修改。

目前所知的世界上最大的git單一庫是windows,270G。這必須依賴gvfs來做檔案底層,把大部分檔案都放在服務端,只是對映到本地。本地硬碟上只有4G。

這時候必須用乙個修改過的、直到gvfs的git來配合。如果不做這些的話,git status就要4小時,根本沒法用。

4樓:hi大頭鬼hi

同意 @王宇龍 的答案,submodule用過的都知道坑太多,既然submodule這麼多坑,repo就是很好的選擇了。

5樓:阿爾伯特

android專案很大,各個子專案分別用git來管理可以避免頻繁的merge/rebase。引入第三方庫的時候也會帶上原來的history。

6樓:王宇龍

工程過大是乙個很重要的原因, 單framework/base就接近1G, 更不用說chromium這樣的龐然大物了.

另外的原因是AOSP大量引用了已有的開源專案, 這些專案本身也是乙個個git專案, 有自己的開發周期.

至於git的submodule, 用過的都說坑

為什麼MIUI 7不使用Android 5 X?

沒什麼鳥用,我的小公尺2s刷了miui7 基於android5.0.2好像是 又刷回miui5 基於android4.1 了,用著順手就夠了,瞎換個鳥蛋 小公尺 我們在核心改動了太多,無法遷移到5.0 如果我們要開發5.0版本,基本上是重新開發miui。誰給我們重新開發買單呢?對了,xposed v...

如何優雅地使用 Android?

手機是nexus系列,要不就刷原生的。原生體驗最好。用nova作為啟動器,再找幾個圖示包,中國產軟體乙個都不要在安卓手機上裝,嘿嘿嘿。 任浣衡 如果是像我這種對系統有潔癖的我會重新刷機建議找乙個Android5.1或Android4.4以上的Rom上面有個ART模式有別於4.4以前的rom 刷機的時...

Android 所使用的 NinePatch 相對於 iOS 的影象邊角拉伸 API 是乙個更好的解決方案嗎?

android機型太多,其實這是沒辦法的辦法。但確實解決問題了。ios開發的話需要考慮的機型問題太少,大部分都是直接掐死畫素進行開發的,所以只能說各自有各自適合的解決方案吧。 吳翹南 例如功能上nine patch可以做到多段成比例拉伸 壓縮,同時維持某些指定部分大小不變。cap insets似乎不...