一、常用的托管服務(wù)
1.gitHub
? ? ? ? 一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),只支持Git作為唯一的版本庫(kù)格式進(jìn)行托管。
2.碼云(gitee)
? ? ? ? 是國(guó)內(nèi)的一個(gè)代碼托管平臺(tái),服務(wù)器在國(guó)內(nèi),所有相較于gitHub使用起來(lái)更加方便一點(diǎn)。
3.gitLab
? ? ? ? 是一個(gè)用于倉(cāng)庫(kù)管理系統(tǒng)的開(kāi)源項(xiàng)目,使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來(lái)的Web服務(wù),一般用于在企業(yè)、學(xué)校等內(nèi)部網(wǎng)絡(luò)搭建git私服
二、常用操作(gitee示例)
1. 創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
(1)注冊(cè)登錄
(2)“+”創(chuàng)建倉(cāng)庫(kù)
(3)填寫(xiě)倉(cāng)庫(kù)名、介紹、創(chuàng)建
2.配置SSH公鑰
2.1生成SSH公鑰
????????在gitbash中輸入ssh-keygen -t rsa指令,一路回車(chē)即可。(如果公鑰已存在,會(huì)自動(dòng)覆蓋)
2.2 Gitee設(shè)置賬戶公鑰
(1)查看已生成公鑰
? ? ? ? cat ~/.ssh/id_rsa.pub
(2)gitee設(shè)置中添加SSH公鑰
(3)驗(yàn)證是否配置成功
? ? ? ? 在gitbash中輸入ssh -T git@gitee.com
3.操作遠(yuǎn)端倉(cāng)庫(kù)
3.1 添加遠(yuǎn)程倉(cāng)庫(kù)
(1)在gitbash中通過(guò)以下指令添加遠(yuǎn)程倉(cāng)庫(kù)
git remote add 遠(yuǎn)端名稱(chēng) 運(yùn)程倉(cāng)庫(kù)的SSH鏈接
? ? ? ? 遠(yuǎn)端名稱(chēng):默認(rèn)是origin,取決于遠(yuǎn)端服務(wù)器的設(shè)置
(2)git remote查看遠(yuǎn)程倉(cāng)庫(kù)
3.2 推送到遠(yuǎn)程倉(cāng)庫(kù)
git push [-f] [--set-upstream] [遠(yuǎn)程倉(cāng)庫(kù)名] [本地分支名][:遠(yuǎn)程分支名]
-f:表示強(qiáng)制覆蓋;
--set-upstream:推送到遠(yuǎn)端的同時(shí),建立起和遠(yuǎn)端分支的關(guān)聯(lián)關(guān)系;
若本地分支名與遠(yuǎn)端分支名相同:可只寫(xiě)本地分支名;
若當(dāng)前分支已經(jīng)和遠(yuǎn)端分支關(guān)聯(lián):可省略遠(yuǎn)端名和分支名
3.3 查看本地分支與遠(yuǎn)端分支的關(guān)聯(lián)關(guān)系
git branch -vv
3.4 從遠(yuǎn)端倉(cāng)庫(kù)克隆
? ? ? ? 如果遠(yuǎn)端倉(cāng)庫(kù)已存在,可以直接將遠(yuǎn)端倉(cāng)庫(kù)克隆到本地。
git clone [倉(cāng)庫(kù)路徑] [本地目錄名]
3.5 從遠(yuǎn)端倉(cāng)庫(kù)抓取和拉取
? ? ? ? 遠(yuǎn)程分支和本地分支一樣,我們可以進(jìn)行merge操作,只是需要先把遠(yuǎn)程倉(cāng)庫(kù)中的更新下載到本地,在進(jìn)行操作:
(1)抓?。?/strong>git fetch [remote name] [branch name]
? ? ? ? 將遠(yuǎn)端倉(cāng)庫(kù)的更新全部抓取到本地,不會(huì)進(jìn)行合并;
? ? ? ? 若不指定遠(yuǎn)端名和分支名,則抓取所有分支;
(2)拉?。?/strong>git pull [remote name] [branch name]
? ? ? ? 將遠(yuǎn)端倉(cāng)庫(kù)的更新拉取到本地,并自動(dòng)進(jìn)行合并;
????????若不指定遠(yuǎn)端名和分支名,則抓取所有并更新當(dāng)前分支;
3.6 解決合并沖突
? ? ? ? 如果多個(gè)用戶同時(shí)修改了同一文件的同一行內(nèi)容,此時(shí)合并就會(huì)發(fā)生沖突。
? ? ? ? 例如:A用戶在本地修改了代碼后提交到了遠(yuǎn)程倉(cāng)庫(kù),此時(shí)B在本地修改了同一位置的內(nèi)容,添加到本地倉(cāng)庫(kù)后也需要推送到遠(yuǎn)程倉(cāng)庫(kù),因?yàn)锽晚于A,此時(shí)遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)發(fā)生了更新,所以需要先拉取遠(yuǎn)程倉(cāng)庫(kù)的更新,經(jīng)過(guò)合并后,再提交到遠(yuǎn)程倉(cāng)庫(kù)。
? ? ? ? B在拉取后進(jìn)行合并時(shí),就會(huì)發(fā)生合并沖突。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-813214.html
解決方法:遠(yuǎn)程分支也是分支,所以解決方法和本地分支合并沖突解決方法相同,在push前,先pull,在本地將沖突解決后再push到遠(yuǎn)程倉(cāng)庫(kù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813214.html
到了這里,關(guān)于02.Git遠(yuǎn)程倉(cāng)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!