歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下Git配置學習筆記

Ubuntu下Git配置學習筆記

日期:2017/2/28 15:31:55   编辑:Linux教程

雖然之前弄過了svn,但是最近,老大又要求使用git來進行版本控制。好吧,暫停下手上的項目,折騰下Git吧。

學習的資料就是progit的ebook,寫的真的是很好很詳細。強烈推薦移步progit去學習下。ebook的最下方可以選擇語言,有中文版的。

因為是幾個人一起開發的項目,所以就配置了一個私有小規模團隊的git。所謂私有,就是每個人都具有讀寫權限,且不對外公開。所以采用SSH公鑰來進行授權。

假設項目中有3個人:

ritter ip:192.168.1.1, tom ip:192.168.1.2 ,jack ip:192.168.1.3。其中ritter的機子為git服務器。

首先,每個人獲得自己的ssh公鑰,每個人先裝ssh:

$ sudo apt-get install openssh-client

$ sudo apt-get install openssh-server


然後執行ssh-keygen命令生成ssh公鑰:

$ ssh-keygen


輸入完命令後可能會要求輸入一些配置信息,可以不輸,一路回車到底。

現在,在~/.ssh目錄下應該就有一個叫 id_rsa.pub的文件了,用gedit打開:

$ gedit ~/.ssh/id_rsa.pub

將每個人的id_rsa.pub裡的內容復制到ritter的~/.ssh/authorized_keys 文件中,包括ritter自己在id_rsa.pub裡的內容。

如果在ritter的~/.ssh 目錄下沒有 authorized_keys文件,可以自己用gedit 新建一個:

$ gedit ~/.ssh/authorized_keys

然後把每個人的id_rsa.pub中的內容拷入即可。這樣就配置好了ssh公鑰了,只要是在authorized_keys裡有公鑰的用戶,都可以對git倉庫讀寫。

下面就是配置ritter的git倉庫了,假如在/work目錄下新建project.git:

$ sudo mkdir /work

$ cd /work

$ mkdir project.git

$ cd project.git

進入project.git目錄後,可以用 --bare 選項運行 git init 來建立一個裸倉庫,這會初始化一個不包含工作目錄的倉庫:

$ git --bare init

這是,會提示初始化完成,然後就是要向這個裸倉庫中加入文件了。


假如是由tom將自己的一個工程 myProject加入倉庫中,首先,要進入myProject:

$ cd myProject

使用git init命令將此工程變為git版本控制的目錄:

$ git init

執行成功後可以用ls -a命令查看,會有一個隱藏的.git目錄,裡面就是存儲版本控制信息的。

然後執行git add .,注意,add後是空格,然後是一個點,此命令將當前目錄下所有文件添加進入暫存區域中去:

$ git add .

此時還需要commit,加參數m後可以加入注釋信息:

$ git commit -m 'initail commit'

現在本地的快照就更新了,然後發送到ritter的git服務器裡:

$ git remote add origin [email protected]:/work/project.git

其中的origin是自己自定義命名的在git倉庫中的分支的名稱,此時再push一下,更改就成功了:

$ git push origin master

origin是剛才命名的位於ritter機器中的git服務器裡的分支的名稱,而master是本地存儲的分支的名稱,是git init後默認生成的名字。

上面的命令就是將本地分支master裡的修改應用進ritter的git服務器裡的origin分支裡去。至此,git服務器的代碼倉庫就配置好了。

下面,如果jack要參與開發,就從ritter那clone下來一份代碼,假如clone到自己在~/jackProject裡,首先進入jackProject目錄:

$ cd ~/jackProject

然後執行clone命令:

$ git clone [email protected]:/work/project.git

執行完成後,ritter機子裡,剛才tom上傳進去的myProject就下載到jack的jackProject目錄裡了,當然,在clone命令後面可以加上自定義的文件夾名稱,

假如要重命名為project:

$ git clone [email protected]:/work/project.git project


這樣就可以了。

ritter自己也要參與開發的話,也可以clone到自己的開發目錄下面,方法相同。

Copyright © Linux教程網 All Rights Reserved