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...