如要使用 Android 程式碼,必須用到 Git (開放原始碼的開放原始碼) 版本管控系統) 和 Repo (Google 建立的存放區) 這類工具會在 Git 上執行請參閱來源控制工具。 瞭解 存放區和 Git,以及每項工具的支援說明文件連結。
流程
Android 開發作業包含以下基本工作流程:
- 使用
repo start
建立新的主題分支版本。 - 編輯檔案。
- 使用
git add
進行階段變更。 - 使用
git commit
提交變更。 - 使用
repo upload
將變更上傳至審查伺服器。
Tasks
在 Android 程式碼存放區中使用 Git 和存放區 執行下列常見工作
指令 | 說明 |
---|---|
repo init |
初始化新用戶端。 |
repo sync |
將用戶端同步到存放區。 |
repo start |
啟動新的分支版本。 |
repo status |
顯示目前分支版本的狀態。 |
repo upload |
將變更上傳至審查伺服器。 |
git add |
暫存檔案。 |
git commit |
提交暫存檔案。 |
git branch |
顯示目前的分支版本。 |
git branch [branch] |
建立新的主題分支。 |
git checkout [branch] |
將 HEAD 切換至指定的分支版本。 |
git merge [branch] |
將 [branch] 合併至目前的分支版本。 |
git diff |
顯示未階段性變更的差異。 |
git diff --cached |
顯示階段性變更的差異。 |
git log |
顯示目前分支版本的歷史記錄。 |
git log m/[codeline].. |
顯示未推送的修訂版本。 |
如要瞭解如何使用存放區下載原始碼,請參閱 下載原始碼和 Repo 指令參考資料。
同步處理用戶端
如何同步處理所有可用專案的檔案:
repo sync
如何同步處理所選專案的檔案:
repo sync PROJECT0 PROJECT1 ... PROJECTN
正在建立主題分支版本
每次開始 變更,例如您開始處理錯誤或新功能時。主題分支版本 「不是」原始檔案的副本;指向 並會針對特定修訂版本建立本機分支版本 這項簡易作業使用分支版本時 有關如何使用主題的有趣文章 分支版本,請參閱 區隔 主題分支版本。
如要使用 Repo 啟動主題分支版本,請前往專案並執行:
repo start BRANCH_NAME .
結尾期間 ( .
) 代表目前工作中的專案
目錄。
如何驗證已建立新的分支版本:
repo status .
使用主題分支版本
如何將分支版本指派給特定專案:
repo start BRANCH_NAME PROJECT_NAME
如要查看所有專案的清單,請參閱 android.googlesource.com。 如果您已前往專案目錄,則直接使用半形句號來 代表目前的專案
如何切換至本機工作環境中的其他分支版本:
git checkout BRANCH_NAME
如要查看現有分支版本的清單,請按照下列步驟操作:
git branch
或
repo branches
這兩個指令都會傳回現有分支版本的清單,其中包含 目前分支前面加上星號 (*)。
暫存檔案
根據預設,Git 會發出通知,但不會追蹤您在專案中所做的變更。 如要指示 Git 保留變更,您必須將這些項目標示為或「暫存」 納入修訂版本。
如何階段變更:
git add
這個指令可接受專案內檔案或目錄的引數
目錄。儘管名字的確,git add
不只會將檔案新增到
Git 存放區也能用於暫存檔案修改內容
刪除的內容。
查看用戶端狀態
如要列出檔案狀態,請按照下列步驟操作:
repo status
如何查看未修訂的編輯內容 (未標示為修訂版本的本機編輯內容):
repo diff
查看修訂過的編輯內容 (標示為下列項目的編輯項目:
修訂後,請務必位於專案目錄中,然後使用 cached
引數執行 git
diff
:
cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached
正在提交變更
修訂是 Git 中的修訂版本控制基本單位,由 整個專案目錄結構和檔案內容的數據匯報。 使用下列指令在 Git 中建立修訂版本:
git commit
系統提示您輸入修訂訊息時,請針對以下項目提供簡短有力的訊息: 向 Android 開放原始碼計畫提交變更內容如果您未新增修訂訊息,修訂版本就會失敗。
正在將變更上傳至 Gerrit
更新至最新修訂版本,然後上傳變更:
repo sync
repo upload
這些指令會傳回您已修訂的變更清單,並提示您
選取要上傳至審查伺服器的分支版本。如果只有一個
就會看到簡單的 y/n
提示
解決同步處理衝突
如果 repo sync
指令傳回同步處理衝突:
- 查看未合併的檔案 (狀態碼 = U)。
- 視需要編輯衝突區域。
- 切換到相關專案目錄。新增並提交受影響的
檔案,然後重新建立變更:
git add .
git commit
git rebase --continue
- 重新基準完成後,再次啟動整個同步處理作業:
repo sync PROJECT0 PROJECT1 ... PROJECTN
清除用戶端
合併對 Gerrit 的變更後,請更新本機工作目錄,然後使用
repo prune
:安全地移除過時的主題分支版本:
repo sync
repo prune
刪除用戶端
由於所有狀態資訊都會儲存在用戶端中,因此您只需要 從檔案系統中刪除目錄:
rm -rf WORKING_DIRECTORY
刪除用戶端時,系統會永久刪除任何尚未保留的變更 已上傳並送審。