SlideShare a Scribd company logo
1 of 22
Download to read offline
Gerrit Code Review 教學
林軒宇 2014.04.01
Coding convention
每個縮排 4 space (不要⽤用tab)
<img> 不要給 width, height
CSS 要⽤用 selector 縮⼩小範圍
路徑⽤用相對路徑,不要⽤用絕對路徑
Code Review
網址 http://review.xxx.com
commit message 要⽤用英⽂文 (因為 Gerrit 不⽀支援中⽂文)。︒
每個 patch 要保持簡短利落,commit message 要包含 JIRA
id(如果有的話),commit message 若需要⽤用比較⼤大的篇幅敘
述,則在 JIRA 補充。︒
只要完成⼀一⼩小部分功能,即可當作⼀一個 patch 上傳,可以讓未
來的 debug 變簡單,⽽而不要實作⼀一堆功能後再⼀一次上傳。︒
Gerrit 設定
先在 Windows 裝 git
http://blog.crboy.net/2012/05/git-on-windows.html
要先 signup
設定 SSH Public Keys
設定 Username
SSH Public key 設定(僅供參考)
開啓 Git Bash
ssh-keygen
預設都按 enter
把 C:Users你的⼤大名.sshid_rsa 的內容複製到 Gerrit 網⾴頁
上的 SSH Public key
或可參考 https://help.github.com/articles/generating-ssh-
keys#platform-windows
Gerrit Q & A
遇到 Permission denied (publickey). 這類的問題,請確認
~/.gitconfig 和 ~/.ssh/config 是否都已設定 User name 和
email:
第⼀一次抓 code
repo init -u ssh://在網⾴頁上設定的Username@xxx.com:29418/
ih/manifests.git
repo sync
開始新的⼀一個 branch
repo start 其實是開⼀一個新的 branch
查看⽬目前狀況
確定要 commit 的檔案可⽤用 git add
綠⾊色代表 git commit 會被 commit 的檔案,紅⾊色代表還沒準備
要 commit (⽤用 git commit -a 則可不管紅綠都會⼀一起 commit)
上傳前記得先 git diff
有紅⾊色的地⽅方代表是 tab,要把它改成 space
上傳到 gerrit
code review 時可順便找 tab
Code-review 分數的意義
+2 這個 patch 沒問題,驗證過,可以直接 submit。︒
+1 這個 patch 沒問題,驗證過,但需要其他⼈人幫忙驗證。︒
+0 留⾔言專⽤用。︒
-1 這個 patch 有問題,(不論是否驗證過,可能只是單純
coding style 的問題),請在留⾔言詳述。︒
-2 這個 patch 有問題,⽽而且可能連驗證都無法通過,(例如功能
有錯誤,或是沒有 rebase 等等),此時除非留下 -2 的 reviewer
再重新評分,否則此 patch 無法被 submit。︒
⽤用 --amend 來修改 patch
在還沒有被 merge 前,同⼀一個 patch 都可⽤用 --amend 來修改
--amend 會出現上次的 log
此時可以修改 commit message,不修改則代表沿⽤用上次寫的
message
再度上傳到 Gerrit
刪除檔案的⽅方式
merge 之後⋯⋯
可以⽤用 repo sync 來抓 server 上所有最新的 code
DOREMI

More Related Content

What's hot

初心者 Git 上手攻略
初心者 Git 上手攻略初心者 Git 上手攻略
初心者 Git 上手攻略Lucien Lee
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Wen-Tien Chang
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction TutorialThomas Rausch
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 

What's hot (20)

初心者 Git 上手攻略
初心者 Git 上手攻略初心者 Git 上手攻略
初心者 Git 上手攻略
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
Git由超淺入超深
Git由超淺入超深Git由超淺入超深
Git由超淺入超深
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 
git and github
git and githubgit and github
git and github
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Learning git
Learning gitLearning git
Learning git
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Git basics
Git basicsGit basics
Git basics
 
Les bases de git
Les bases de gitLes bases de git
Les bases de git
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 

Similar to git, repo, Gerrit 基礎教學

Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshellNelson Tai
 
Git and git hub
Git and git hubGit and git hub
Git and git hub唯 李
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战icy leaf
 
Git原理与实战 201607
Git原理与实战 201607Git原理与实战 201607
Git原理与实战 201607Charles Tang
 
版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub維佋 唐
 
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹PingLun Liao
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台Bo-Yi Wu
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用Philip Zheng
 
前端開發學習簡介
前端開發學習簡介前端開發學習簡介
前端開發學習簡介peterju
 
連哈秋都懂的Git教學
連哈秋都懂的Git教學連哈秋都懂的Git教學
連哈秋都懂的Git教學hydai
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用luolonghao
 
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3areyouok
 
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3topgeek
 
Elixir 好用的編輯器
Elixir 好用的編輯器Elixir 好用的編輯器
Elixir 好用的編輯器bobo52310
 
KISSY Editor Design 2
KISSY Editor Design 2KISSY Editor Design 2
KISSY Editor Design 2yiming he
 
GIT實務操作與理論
GIT實務操作與理論GIT實務操作與理論
GIT實務操作與理論鵬 大
 
Git &amp; git hub v1.2
Git &amp; git hub v1.2Git &amp; git hub v1.2
Git &amp; git hub v1.2Chris Chen
 
Git flow 與團隊合作
Git flow 與團隊合作Git flow 與團隊合作
Git flow 與團隊合作Bo-Yi Wu
 

Similar to git, repo, Gerrit 基礎教學 (20)

Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshell
 
Git and git hub
Git and git hubGit and git hub
Git and git hub
 
Git
GitGit
Git
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战
 
Git原理与实战 201607
Git原理与实战 201607Git原理与实战 201607
Git原理与实战 201607
 
版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub
 
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
前端開發學習簡介
前端開發學習簡介前端開發學習簡介
前端開發學習簡介
 
Git 实战
Git 实战Git 实战
Git 实战
 
連哈秋都懂的Git教學
連哈秋都懂的Git教學連哈秋都懂的Git教學
連哈秋都懂的Git教學
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
 
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
 
腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3腾讯大讲堂46 自由cgi之路v3
腾讯大讲堂46 自由cgi之路v3
 
Elixir 好用的編輯器
Elixir 好用的編輯器Elixir 好用的編輯器
Elixir 好用的編輯器
 
KISSY Editor Design 2
KISSY Editor Design 2KISSY Editor Design 2
KISSY Editor Design 2
 
GIT實務操作與理論
GIT實務操作與理論GIT實務操作與理論
GIT實務操作與理論
 
Git &amp; git hub v1.2
Git &amp; git hub v1.2Git &amp; git hub v1.2
Git &amp; git hub v1.2
 
Git flow 與團隊合作
Git flow 與團隊合作Git flow 與團隊合作
Git flow 與團隊合作
 

git, repo, Gerrit 基礎教學