gitlab創(chuàng)建項目
1 gitlab 可以設(shè)置權(quán)限問題,這嚴(yán)格的把控了項目诞丽,但是同時拐格,你看不到那些master操作。
-
沒權(quán)限的新建項目的時候懂衩,就無法選擇開發(fā)的組金踪。如下圖所示:
-
有權(quán)限的時候可以選擇開發(fā)組成員胡岔。如下圖所示:
-
對成員設(shè)置權(quán)限
本地倉庫與遠(yuǎn)程倉庫建立連接
示例:
可以通過ssh的方式進(jìn)行關(guān)聯(lián)
本地生成ssh的方式:
$ ssh-keygen -t rsa -C "youremail@example.com"
復(fù)制自己的ssh-key
pbcopy < ~/.ssh/id_rsa.pub
進(jìn)行code review 的步驟
1铁材、 arc設(shè)置
- 安裝Arcanist
方式一:指定文件目錄下進(jìn)行安裝
somewhere/ $ git clone git://github.com/facebook/libphutil.git
somewhere/ $ git clone git://github.com/facebook/arcanist.git
方式二:拷貝同事安裝好的
- 將arc的路徑加入到系統(tǒng)路徑中
export PATH=$PATH:/somewhere/arcanist/bin/
- 驗證arc是否安裝成功
一般是系統(tǒng)的.bash_profile
中加上arc的路徑著觉,重啟終端或者執(zhí)行source .bash_profile
讓命令生效
arc --help
查看命令是否安裝成功
設(shè)置編輯器:
arc set-config editor "vim"
設(shè)置默認(rèn)Phabricator URI:
arc set-config default http://phabricator.example.com
配置.arcconfig
直接在項目代碼根目錄創(chuàng)建(可以直接拷貝同事的此文件).arcconfig文件惊暴,內(nèi)容例如
{
"phabricator.uri" : "http://phabricator.xxxxx.com:8000/"
}
2辽话、 安裝證書:第一次會提示你安裝證書,有的公司還需要配置host
- cd 工程根目錄
arc install-certificate
- 配置host:有的公司需要單獨配置自己的host
sudo vim ~/.bash_profile
119.29.112.xxx phabricator.xxxxx.com
添加token:管理員會把你的郵箱添加到groups里典徘。收到郵件依次操作益咬,登錄網(wǎng)址添加touken即可:
3、 常用的命令
git add .
此命令是將你所有修改的文件add到暫緩區(qū)裆甩。
git commit -a -m "描述1232133"
此命令是對你本次文件提交的一個描述齐唆,-a (all/所有的) -m(描述)
arc diff --preview
此命令是代碼審核前,可以自己預(yù)覽自己提交的代碼茉帅,并不會進(jìn)行review媒殉,大神請忽略此步驟
arc diff
準(zhǔn)備提交
arc land
代碼審核通過,可以提交到遠(yuǎn)程創(chuàng)建新的diff:
arc diff --create
arc diff 優(yōu)化:
方式一:
輸入法設(shè)置快捷輸入:把review者的名字使用快捷的方式輸入
方式二:
arc diff --cc 'bo.huang' --reviewers '進(jìn)行review者名字'廷蓉, 只需要填Test Plan:NO
方式三:
熟悉命令之后,可以查看給終端設(shè)置別名的方式進(jìn)行快捷提交
例如:gt = git status
可查看文章結(jié)尾參考鏈接
4刹悴、重新修改commit
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c
執(zhí)行g(shù)it reset --hard HEAD~1后攒暇,
顯示:HEAD is now at commit2,運行g(shù)it log
5就轧、注意點
- 嚴(yán)格禁止直接push(可能審核的時候被駁回)必須用
arc land
- 沒有closed的自己必須closed
- 每次提交之前田度,pull新代碼,以免沖突
- 舍棄的鏈接 abandon掉
- feature 創(chuàng)建之后乎莉,先push到遠(yuǎn)程奸笤,不然會出現(xiàn)代碼全是commit信息。