中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
gerrit 遇到的錯(cuò)誤
1. Permission denied (publickey)
我安裝完后配置好.ssh/config里的賬號和服務(wù)器地址,端口之類的之后,用ssh測試連通性時(shí)遇到這個(gè)錯(cuò)誤,這時(shí)我可以用我的賬號登錄WebUI的gerrit,并已經(jīng)把我的id_rsa.pub放到SSH Public Keys里面。
解決辦法:
https://git.eclipse.org/r/Documentation/error-permission-denied.html
找到上面這個(gè)文章,里面第一點(diǎn)就說查看Settings -> Profile -> Username是否正確,這個(gè)Username就是ssh登錄的用戶名,但是我的這里為空。
我用的數(shù)據(jù)庫是mysql,用mysql的賬號密碼登錄:
mysql -uroot -p*****
use reviewdb;
select * from account_external_ids;
這時(shí)會(huì)顯示如下
+------------+-----------------+----------+---------------+
| account_id | email_address   | password | external_id   |
+------------+-----------------+----------+---------------+
|          1 | email1@163.com  | NULL     | gerrit:test1   |
|          2 | email2@163.com  | NULL     | gerrit:test2   |
+------------+-----------------+----------+---------------+
在網(wǎng)上找的資料說這里的external_id還有一項(xiàng)username:test1之類的,這里沒有,所有Profile里有空,手動(dòng)添加:
insert into account_external_ids  values ('1','NULL','NULL','username:test1');
再查看一下:
select * from account_external_ids;
+------------+-----------------+----------+---------------+
| account_id | email_address   | password | external_id   |
+------------+-----------------+----------+---------------+
|          1 | email1@163.com  | NULL     | gerrit:test1   |
|          2 | email2@163.com  | NULL     | gerrit:test2   |
|          2 | NULL                        | NULL     | username:test1 |
+------------+-----------------+----------+---------------+
重新啟動(dòng)gerrit
./gerrit.sh restart
用test1登錄后在Profile里的Username一項(xiàng)就會(huì)有test1,這時(shí)再用ssh測試就正常了。
ps:
修改的命令:update account_external_ids set external_id='username:*******' where external_id='username:*****';
2. fatal:  A Contributor Agreement must be completed before uploading:
這個(gè)問題是在git push的時(shí)候出現(xiàn)的提示,我是這樣解決的:
在etc/gerrit.config文件的
·auth]下加
contributorAgreements = true
添加后重啟gerrit,在WebUI里找到 All-Projects -> General 里會(huì)有如下的選項(xiàng):
Contributor Agreements
Require a valid contributor agreement to upload:
把他改為FALSE之后就可以push了。
3. refs/heads/branch 和refs/for/branch的區(qū)別
后者不用說都知道是gerrit review用的,push到這個(gè)分支后在gerrit上就會(huì)有一個(gè)review出現(xiàn),別人Review后才能提交到需要的分支。
前都其實(shí)就是正常push的分支,所以git push origin HEAD:branch和git push origin HEAD:refs/heads/branch的結(jié)果是一樣的。
修改All-Project的Access的相應(yīng)Reference就可以修改相應(yīng)的權(quán)限。
還有兩個(gè)分支也說一下:
refs/meta/config: 這個(gè)分支是gerrit的權(quán)限配置分支,不是每個(gè)項(xiàng)目下面都有,All-Projects有這個(gè)分支,其他的項(xiàng)目從這個(gè)分支繼承。
refs/tags/*:不用多說,打Tag用的。
4. 刪除錯(cuò)誤的Gerrit提交
有時(shí)在文件系統(tǒng)上刪除了項(xiàng)目,又新建了一個(gè)同名的項(xiàng)目,但在Gerrit里還有沒有Merge的Review,這時(shí)會(huì)Review又會(huì)出現(xiàn)錯(cuò)誤。解決辦法是在數(shù)據(jù)庫里直接把對應(yīng)的Change刪除:
ssh server gerrit qsql
gerrit> delete from changes where change_id=1;   //1為對應(yīng)的change
5. 修改refs/meta/config
從Google鏡像的Android倉庫,有的項(xiàng)目里含有refs/meta/config這個(gè)分支,這個(gè)是git倉庫配置用的,在gerrit里顯示在Projects -> Access里面,有時(shí)我們可能要對其做些修改。我們直接clone項(xiàng)目時(shí)這個(gè)分支不會(huì)同步,需要手動(dòng)fetch
git fetch origin refs/meta/config:config
git checkout config
//modify the files
git push origin config:refs/meta/config
?
?
?
Gerrit使用坑點(diǎn)
1、獲取代碼
獲取代碼直接pull的話,如果有人在之前push過代碼,本地就會(huì)生成一個(gè)更改,commit msg 一般是自動(dòng)生成merge ….。
因?yàn)槔麓a本地分支就合入其他人的更改,你要commit到本地,才能保證本地分支是最新的代碼。如果有沖突,解決沖突以后你的代碼才能是最新的,而且本地代碼本身是有其他修改的(如果有commit的內(nèi)容),所以你的本地分支就超前于遠(yuǎn)程分支,然后你push本地分支代碼,這樣遠(yuǎn)程分支和你本地分支一樣都是最新的。
但是主分支上很多分支合并的圖不是很好看,所以需要使用rebase來獲取代碼:git pull –rebase origin develop。
rebase的概念:最后一次獲取遠(yuǎn)程分支的點(diǎn),和最新提交的點(diǎn),之間這段作為一個(gè)補(bǔ)丁,然后恢復(fù)到最后一次獲取遠(yuǎn)程分支的點(diǎn),拉取遠(yuǎn)程分支最新的改動(dòng),然后把你的補(bǔ)丁追加到這次獲取遠(yuǎn)程分支的后面。
2、push代碼沒有安裝commit-msg hook腳本
用終端直接提交會(huì)提示需要安裝腳本才能push,復(fù)制提示命令執(zhí)行,或者直接去gerrit去復(fù)制下載腳本的命令。再次提交會(huì)發(fā)現(xiàn)還是提示沒有生成changedid,這時(shí)候需要在上次的提交上追加一個(gè)空提交:commit –amend ,這時(shí)候腳本生效,產(chǎn)生changedid,然后就可以push。
3、提交代碼不能直接push
提交代碼需要使用命令 git push origin HEAD:refs/for/develop
origin HEAD:refs/for/基本屬于固定格式,refs大概是reference的縮寫, develop的是分支名
4、使用http地址獲取代碼后push代碼重復(fù)重復(fù)驗(yàn)證用戶名和密碼
獲取代碼可以使用http和ssh的兩種方式獲?。?div style="height:15px;">
http每次都需要輸入密碼和用戶名,clone代碼用http開頭的鏈接獲取。
ssh需要配置ssh的環(huán)境,clone代碼ssh開頭的鏈接獲取。
如果前期用http地址clone的代碼,后期不想頻繁輸入賬號信息,通過git命令可以在本地完成origin的修改
git remote set-url origin url url是需要切換的地址
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
git push用法和常見問題分析
apache2 + git + gerrit + mysql 配備、簡單git操作
git 刪除本地分支和遠(yuǎn)程分支、本地代碼回滾和遠(yuǎn)程代碼庫回滾
git push命令
Git push 常見用法
開發(fā)者日常使用的 Git 命令
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服