基於Repo和Git的版本管理

2021-06-03 13:33:46 字數 2265 閱讀 2309

涉及android源**的工作需要用到的git和repo工具。多數情況下我們可以用git工具代替repo,或者兩者混用組合成更複雜的命令。而repo工具可以使android的網路操作更加簡潔。

git是乙個開源版本管理系統,旨在處理各種知識庫發布的大型專案。一般來說,我們可以使用git進行本地操作,比如本地分支化、提交、對比和編輯。android專案中乙個挑戰是如何支援外部的群體(愛好者社群以及大型oem廠商)。如果想讓元件可替代、延長生命週期,我們必須選擇乙個發布式版本管理系統,所有我們選擇git工具。

一、版本管理基本流程

與知識庫互動的基本流程如下:

1、建立新的分支——repo start

2、編輯**檔案

3、stage檔案更改——git add

4、提交更改——git commit

5、提交更改到review伺服器——repo upload

二、任務處理

下面詳細介紹了如何使用repo和git命令。

1、同步本地客戶端

同步所有的工程檔案——repo sync

同步特定的工程檔案——repo sync project0 project1 project2 ...

2、建立分支

每當開始編輯檔案比如開始修改bug和新增新的功能,需要在本地建立特定的分支。分支並不是原始檔案的拷貝,它作為特定提交的標示,該標示建立本地分支並在分支間進行輕量級切換,分支可以隔絕乙個方面的更改。

建立分支——repo start branch_name

驗證新分支的有效性——repo status

3、分支使用

分配分支到特定工程——repo start branch_name project

本地環境中切換分支——git checkout branch_name

列出所有分支——git branch or repo branches

4、staging檔案

預設情況下,git工具提示但並不跟蹤工程的更改,為了通知git儲存**的變化,我們必須commit**,即「staging」。

stage檔案更改——git add

該命令可以接受任何檔案和工程目錄,git新增檔案到git知識庫,並且stage檔案更改、刪除的記錄。

5、瀏覽客戶端狀態

展示檔案狀態——repo status

展示未提交的檔案編輯——repo diff

6、提交更改

git中commit是版本管理的基本單元,包含了工程的目錄結構和檔案內容。

建立commit——git commit

執行該命令後editor中彈出commit提示資訊,最好能夠提供有益的幫助資訊。如果沒有新增log資訊,該次commit提交會被遺棄。

7、提交更改到gerrit

upload之前更新最新的版本——repo sync

接著提交**——repo upload

之後呈現我們提交的更改,並提示我們選擇分支。

8、處理**衝突

提交**時如果遇到衝突,需要執行以下操作:進入相關的工程目錄,針對衝突的檔案執行git add和git commit命令,恢復更改。如下:

git add .

git commit 

git rebase --continue

恢復更改後再次重複整個更新:

repo sync project0 project1 ... projectn

如果本地又對剛剛提交的**進行了修改,提交時可以直接覆蓋上次的提交,執行如下命令:

git add files

git commit  --amend

repo upload

9、清除客戶端檔案

merge**到gerrit之後,更新本地的工作目錄:

repo sync

安全清除陳舊的分支執行以下命令:

repo prune

想恢復**到以前的分支,可以執行以下命令:

git log

git reset hard

10、刪除客戶端**

由於**所有的**資訊儲存在本地,我們僅需要刪除目錄即可完成:

rm -rf working_directory

刪除本地**後將會永久的刪除所有提交的更改。

三、git和repo流程表

原文參考:

基於Repo和Git的版本管理

與知識庫互動的基本流程如下 1 建立新的分支 repo start 2 編輯 檔案 3 stage檔案更改 git add 4 提交更改 git commit 5 提交更改到review伺服器 repo upload 二 任務處理 下面詳細介紹了如何使用repo和git命令。1 同步本地客戶端 同步...

基於Repo和Git的版本管理

git branch upload 工具android merge 與知識庫互動的基本流程如下 1 建立新的分支 repo start 2 編輯 檔案 3 stage檔案更改 git add 4 提交更改 git commit 5 提交更改到review伺服器 repo upload 二 任務處理 ...

repo管理git倉庫 回退版本

1.repo回退所有git倉庫到指定日期之前 repo forall c commitid git log before 2019 01 01 07 00 1 pretty format h git reset hard commitid 2.repo回退到某tag 先去隨意git倉庫下,git t...