Gerrit工作流程

2021-08-02 20:49:04 字數 3064 閱讀 1821

gerrit工作流程

1. 建立乙個

launchpad account

賬號,加入openstack

社群。

2. 配置你的git:

git config --global user.name "firstname lastname"

git config --global user.email "[email protected]"

3. 安裝git-review

ubuntu或者其他大部分linux

系統:pip install git-review

ubuntu precise (12.04) 或者以後的版本包含git-review,像其他軟體一樣安裝即可。

apt-get install git-review

fedora 16 以後, git-review也包含在發行版本中,像其他軟體一樣安裝即可。

yum install git-review

opensuse 12.2

以後版本,也包含在發行版本中,像其他軟體一樣安裝即可

zypper in python-git-review

4. 工程設定:

獲取專案**

git clone git:

cd nova

檢查git-review

檢查是否可以提交**

review

git review -s

如果之前沒有增加過遠端倉庫

git remote add gerrit ssh:

5. 正常工作流程

獲取倉庫最新**

git remote update

git checkout master

git pull --ff-only origin master

當你要開發乙個特性或者修改乙個bug

,建立乙個分支,在這個分支裡邊完成你的修改

git checkout -b topic-branch

6. 提交修改

提交資訊裡邊需要寫上你的blueprint

連線和bug號

adds keystone support

...long multiline description of the change...

implements: blueprint authentication

fixes: bug #123456

change-id: i4946a16d27f712ae2adf8441ce78e6c0bb0bb657

提交修改

git commit -a

如果是上次提交的乙個patch

git commit --amend

正式提交review

git review

注:gerrit根據change-id識別你的patch,出於各種原因,你原來提交**的本地倉庫壞掉,這時你可以從gerrit上取下你的patch,由於這時你不能再git commit -a --amend, 你可以在commit log的最下邊寫上你原來的change-id,還是可以提交到你原來的change上,生成乙個更新的patch。

7. **評審

正確提交git review

後,會在

生成乙個review

頁面。如果你的

code

還沒有完全完成,你可以把你的

patch

設定為」working in progress」。一旦完成,你就可以增加評審人來評審你的**。gerrit

review

,可以針對你提交的每乙個檔案,到對應的行上邊去增加評審意見。一旦有人提交評審意見,你需要盡快的給出你的意見,然後通過」review」裡邊的「publish comments

」發布你的意見,這樣別人就可以看到你的修改情況了。

如果別人的評審意見你採納了,這時你修改了你的**。你需要重新再上傳乙個patch

,讓評審人再次評審。

git commit -a --amend

git review

直到沒有人再給出評審意見。這時一般openstack

的核心開發人員會批准你的

code

進入正式倉庫。

如果在你開發過程當中,倉庫裡邊的**有人提交了新**,那麼你再提交新的patch

的時候後出新衝突,這時你要

git checkout master

git pull origin master

git checkout topic-branch

git rebase -i master

8. 增加依賴

如果你需要在別人提交的patch

的基礎上工作

#fetch config

git fetch /openstack/nova refs/changes/16/10816/9 && git checkout fetch_head

git checkout -b somebranchname

git review -r

注意:-r

選項十分重要,否則初始的提交會被錯誤的修改

如果你依賴的提交的**有更新,這時你要

# check out the parent commit of the depended commit. sha1 is the commit id. 

git checkout -b anewbranch sha1

# cherry pick the depended commit

git fetch /openstack/nova refs/changes/80/28880/40 && git cherry-pick fetch_head

# cherry pick your last commit

git fetch /openstack/nova refs/changes/28/30028/6 && git cherry-pick fetch_head

# do the revisions

# commit 

git commit -a --amend

# submit for review

git review -r

Gerrit工作流程

1.建立乙個 launchpad account 賬號,加入openstack 社群。2.配置你的git git config global user.name firstname lastname git config global user.email your email youremail....

Struts工作流程

文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...

zf工作流程

zend controller是使用mvc模式來構建乙個站點的基礎。zend controller體系是乙個輕量的,模組化和可擴充套件的體系。它只提供最核心的必要的部分,允許開發者有很大的自由來靈活地構建自己的站點。使用zend controller的站點,其檔案組織和 結構會比較相似。zend c...