Git服務(wù)器搭建全過程分步詳解

注:本文轉(zhuǎn)自51CTO

如果省略本地分子名,則表示要?jiǎng)h除遠(yuǎn)程主機(jī)中分支,如git push origin : master,則表示刪除origin主機(jī)中master分支.

GitHub是一個(gè)免費(fèi)托管開源代碼的Git服務(wù)器,如果我們不想公開項(xiàng)目的源代碼,又不想付費(fèi)使用,那么我們可以自己搭建一臺(tái)Git服務(wù)器。

下面我們就看看,如何在Ubuntu上搭建Git服務(wù)器。我們使用VMware虛擬機(jī)安裝兩臺(tái)Ubantu系統(tǒng),分別命名為gitServer和gitClient_01。

1、安裝OpenSSH并配置SSH無密碼登陸

通過命令 sudo apt-get install openssh-server,安裝SSH服務(wù)。

通過命令 ps –e|grep ssh,查看ssh服務(wù)是否啟動(dòng)。

通過以上命令,我們?yōu)閁bantu系統(tǒng)安裝SSH服務(wù),并配置SSH無密碼登陸,首先我們修改主機(jī)和ip配置文件:gedit /ect/hosts

2、創(chuàng)建用戶git,用來管理運(yùn)行g(shù)it服務(wù)。

3、配置無密碼SSH登陸

在gitClient_01上,我們使用命令:ssh-keygen –t rsa 生成密鑰,如下圖

完成之后,在.ssh目錄下,我們可以看到id_rsa和id_rsa.pub文件,id_rsa.pub為公鑰,我們 通過命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git將gitClient_01上生成的公鑰拷貝到gitServer上。

在gitServer上我們首先查看/home/git/.ssh目錄下是否存在authorized_kesys文件,

如果沒有,可以通過touch authorized_keys創(chuàng)建此文件。

Authorized_keys創(chuàng)建完成后,將gitClient_01上拷貝過來的公鑰id_rsa.pub的內(nèi)容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.

以上內(nèi)容完成后,我們?cè)趃itClient_01中,可以使用命令ssh gitServer即可完成無密碼登陸。

4、安裝Git

通過命令 sudo apt-get install git-core,安裝git

5、建立git倉(cāng)庫(kù)的存儲(chǔ)目錄。

6、初始化服務(wù)器端倉(cāng)庫(kù)

使用命令 git –bare init /home/git/myRep.git,初始化化倉(cāng)庫(kù)

7、在gitClient_01上,通過git clone命令進(jìn)行克隆遠(yuǎn)程倉(cāng)庫(kù),并在各自的電腦上運(yùn)行開發(fā)。

Git clonegit@gitServer:/home/git/myRep.git

通過以上的步驟我們就完成了git服務(wù)器的搭建,完成搭建后,我們需要了解一下與git服務(wù)器交互過程中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等,下面我們逐一了解

1、git clone

此命令是我們和遠(yuǎn)程倉(cāng)庫(kù)交互的第一步,通過此命令,我們可以將遠(yuǎn)程版本庫(kù)克隆到本地,如上面第7步我們就使用了此命令,將遠(yuǎn)程庫(kù)克隆道了本地。

語(yǔ)法:git clone 版本庫(kù)的網(wǎng)址???? 本地庫(kù)名稱

本地庫(kù)名稱可以省略,省略后在本地會(huì)生成一個(gè)和遠(yuǎn)程版本庫(kù)名字相同的目錄。

2、git remote

此命令用于管理遠(yuǎn)程主機(jī)名,此命令在沒有參數(shù)的情況下可以列出所有主機(jī)名。

顯示origin是在使用clone命令,克隆遠(yuǎn)程版本庫(kù)時(shí)Git自動(dòng)為遠(yuǎn)程主機(jī)命名。

通過命令 git remote –v,可查看版本庫(kù)的網(wǎng)址。

3、git fetch

此命令可以將遠(yuǎn)程版本庫(kù)的更新,更新到本地庫(kù)。

語(yǔ)法:git fetch 主機(jī)名字

在默認(rèn)情況下,git fetch origin將會(huì)更新遠(yuǎn)程主機(jī)origin上的所有分支,如果只想更新某個(gè)分支,則在主機(jī)名origin后面加分支名。

語(yǔ)法:git fetch origin master

4、git push

此命令用于將本地分支的更新推送到遠(yuǎn)程主機(jī)。

語(yǔ)法:git push 遠(yuǎn)程主機(jī)名 本地分支名:遠(yuǎn)程分支名

如果省略遠(yuǎn)程分支名,則表示將本地分支推送與存在最終關(guān)系的遠(yuǎn)程分支,如果遠(yuǎn)程分支不存在,則會(huì)被新建。

如:git push origin master,表示將本地master分支推送到origin主機(jī)的master分支上。

如果省略本地分子名,則表示要?jiǎng)h除遠(yuǎn)程主機(jī)中分支,如git push origin : master,則表示刪除origin主機(jī)中master分支

5、git pull

此命令用于獲取遠(yuǎn)程分支中更新。

語(yǔ)法:git pull 遠(yuǎn)程主機(jī) 遠(yuǎn)程分支:本地分支如:git pull origin master:master,表示將遠(yuǎn)程主機(jī)origin中的master分支跟新到本地分支master。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,837評(píng)論 9 163
  • 本文為 Git教程的學(xué)習(xí)筆記,教程源自廖雪峰的博客。這是一個(gè)由淺入深,學(xué)完后能立刻上手的Git教程。另,附上另一本...
    七弦桐語(yǔ)閱讀 6,465評(píng)論 5 47
  • Start from P112 6.5 小結(jié) 定義字典 添加、刪除鍵值對(duì) 遍歷字典中的鍵值對(duì)、鍵、值 剔除重復(fù)項(xiàng)可...
    開發(fā)猛男閱讀 224評(píng)論 0 0
  • 三年前,我的小魔鬼如約而至,帶著初為人父的喜悅,我也步入了奶爸的行列。 漸漸的。他開始成長(zhǎng),每一個(gè)第一次我都細(xì)心記...
    朝拾柒閱讀 541評(píng)論 2 4
  • ---給自己、未來、所有愛我和我愛的人 又是一個(gè)嶄新的開始。親愛的自己、生日快樂。 有生之年、狹路相逢、終不能幸免...
    再亮眼的星_xy閱讀 351評(píng)論 1 2

友情鏈接更多精彩內(nèi)容