Git安裝及使用全過程
今天想自己裝個git來管理原生代碼,沒想到從網站找了好久都沒有一個從頭到尾的過程,大都是安裝git客戶端或者就是安裝tortoiseGit的,然而沒有整合到一起,這樣是大家工作起來非常的費勁,為了記錄一下今天的研究成果和方便大家查閱,這裡就不多說了,直接上。。。。
我這裡給大家介紹的是很多公司都使用的模式:Linux上安裝Git作為程式碼服務端,Windows上或者Mac等作為客戶端使用。
一、Linux上安裝Git過程
1.首先介紹一下作業系統跟下載工具直接的關係:
wget:類似於迅雷,是一種下載工具,通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理名字是World Wide Web”與“get”的結合。
yum:是redhat, centos 系統下的軟體安裝方式,基於Linux,全稱為 Yellow dog Updater, Modified,是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包。
rpm:軟體管理;
redhat的軟體格式 rpm r=redhat p=package m=management用於安裝 解除安裝 .rpm軟體
串聯下:
使用wget下載一個 rpm包, 然後用 rpm -ivh xxx.rpm 安裝這個軟體,嫌麻煩的話,就可以直接用 yum install sqoop 來自動下載和安裝依賴的rpm軟體。
ap-get:是ubuntu下的一個軟體安裝方式,它是基於debain。
2.以上幾個作業系統我基本都用過,現在使用的是deepin Linux(話說是我覺得用的最噁心的系統,然而將就用吧,公司要求沒辦法),這作業系統基於debain。所以我使用yum,wget都毫無效果,只能使用apt-get了。
3.在Linux 部署Git伺服器
3.1.安裝git伺服器
在Linux終端輸入:apt-get install git,會出現安裝過程,這裡就忽略了,基本就是需要輸入一些確認資訊。
3.2.建立一個Git使用者,用來執行git服務
[[email protected]]:adduser git
3.3.建立客戶端登陸證書(這部分可以忽略,本人在登陸時是輸入密碼)
注,收集所有需要登入的使用者的公鑰,就是他們自己生成的id_rsa.pub檔案,把所有公鑰複製到/home/git/.ssh/authorized_keys檔案裡,一行一個。
1).客戶端生成id_rsa.pub檔案的命令
$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== [email protected]
注,一路回車即可,將生成的id_rsa.pub,複製給管理員,幫你在伺服器上增加一下,下次你用git時就不需要輸入使用者名稱和密碼了。
2).檢視伺服器上authorized_keys檔案
[[email protected] ~]# cat /home/git/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== [email protected]
說明:我這裡有三個使用者登入伺服器,所以我這裡就有三個ssh-rsa,大家可以看一下。
3.4.初始化倉庫(注意:新建一個目錄作為Git倉庫,我這裡是/opt/git/project.git)
[[email protected]]: cd /opt/git/
[[email protected]]: git init --bare project.git
上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
[[email protected]]: chown -R git.git project.git
4.禁用shell登陸功能(注,出於安全考慮,第二步建立的git使用者不允許登入shell,這可以通過編輯/etc/passwd檔案完成。)
找到類似下面的一行:
[[email protected]]:cat /etc/passwd | grep git
git:x:1001:1001:git version control:/home/git:/bin/bash
改為:
[[email protected]]:vim /etc/passwd
git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell
這樣,git使用者可以正常通過ssh使用git,但無法登入shell,因為我們為git使用者指定的git-shell每次一登入就自動退出。
5.客戶端clone程式碼到本地
以上步驟完成後就可以在已經安裝好git的電腦上下載程式碼了(注意:這個客戶端電腦一定要可以ping通git伺服器所在的計算機)
使用命令列操作:$ git clone [email protected]172.18.104.194:/opt/git/project.git(注意:172.18.104.194是伺服器地址,/opt/git/project.git是新建倉庫路徑)
二、Windows上安裝Git過程
1.下載git客戶端(地址:http://msysgit.github.io/),這個安裝就很簡單了可以一路全是預設:我這個是32位作業系統就使用32位的安裝了
1.1雙擊32位安裝包
1.2下一步,Next
1.3.下一步
1.4.下一步
1.5.下一步
1.6.下一步
1.7安裝成功,在任意位置右鍵,找到Git Bash Here,輸入git --version,檢視版本。
1.8.如果使用命令列不習慣可以下載source tree或者tortoiseGit,我這裡安裝的是tortoiseGit,在要克隆程式碼的位置右鍵選擇Git clone輸入[email protected]:/opt/git/project.git,然後直接確定就耐心等待遠端伺服器的程式碼下載吧。