Git入門操做

僅學習Git的一些入門操做比較容易,平時更多地使用GitHub,不過今天我想自個搭個服務練練手。當看完一些材料合做了一些驗證以後,才發現其實所謂的服務和以前的svn徹底不同了。過程記錄以下:html

LinuxServer端安裝gitgit

我把服務打在Linux機器上,這臺破機器沒有apt-get,沒有yum,只好本身下載源碼,本身編譯 服務器

$ wget http://distfiles.macports.org/git/git-2.5.3.tar.gz
$ tar xzvf git-latest.tar.gz 
$ cd git-{date} 
$ autoconf 
$ ./configure --with-curl=/usr/local 
$ make 
$ make install

還好一路順利:ssh

$ git --version
git version 2.5.3

 

Server端ssh配置 curl

1)若是client端沒有建立ssh rsa公鑰,則先建立:分佈式

$ cd ~

$ ssh-keygen -t rsa    # 默認存放路徑在~/.ssh/id_rsa.pub

2)若是client端已建立,並存在~/.ssh/id_rsa.pub,則將其拷貝到server端:svn

$ ssh <username>@<server_ip>:.ssh/authorized_keys

id_rsa.pub                                    100%  416     0.4KB/s   00:00 

3)修改Server端的sshd_config:學習

$ ssh <username>@<server_ip>
$ cd /etc            # 有的機器在/etc/ssh下面
$ sudo chmod 666 sshd_config

$ vi sshd_config
#PermitRootLogin yes     改成 PermitRootLogin no

# 下面幾項把前面的 #註釋 去掉
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys
#PasswordAuthentication no
#PermitEmptyPasswords no

#UsePAM yes          改成 UsePAM no 

 

測試是否有效測試

1)在Server端建立空的repositoryurl

$ cd repo

$ git init -—bare    # -—bare flag 只是用來存儲pushes,不會當作本地repository來使用的。

2)在Client端建立repository 並push

$ mkdir localrepo
$ cd localrepo
$ git init
$ touch README
$ git add .
$ git commit -m 「add README」
$ git remote add origin <username>@<server_ip>:/repo
$ git push origin master

3)在Client端clone剛剛建立的repository

$ git clone <username>@<server_ip>:/repo localrepo2

發現剛剛提交的代碼樹被clone下來,說明搭建成功

 

因爲git是分佈式的,沒有主從之分,因此我理解所謂搭建git服務,其實就是確保有權限訪問「服務器」上的git文件。這與該文件是在遠程仍是本地是無關的。好比上面的例子中,若是我把服務器放在本地,同樣是能夠的。

驗證服務器搭建在本地

1)在本地建立空的repository

$ mkdir ~/repo
$ cd ~/repo
$ git init —bare

2)在本地建立repository 並push

$ mkdir ~/localrepo
$ cd ~/localrepo
$ git init
$ touch README
$ git add .
$ git commit -m 「add README」
$ git remote add origin ~/repo
$ git push origin master

3)在本地clone剛剛建立的repository

$ git clone ~/repo ~/localrepo2

查看~/localrepo2,果真README被克隆過來了。

 

參考資料:

http://www.cnblogs.com/eileenleung/p/3503337.html

相關文章
相關標籤/搜索