1. 程式人生 > >git的搭建與使用

git的搭建與使用

linux

1. git搭建及無密碼訪問

1.1 git與gitlab

GIT(分布式版本控制系統), 是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。

Gitlab是使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

下面介紹二者的搭建,可以按需選擇其中一種搭建。

1.2 服務端搭建(基於CentOS)

1.2.1搭建git服務

(1)安裝git

# yum -y install git

(2)查看git版本

# git --version

CentOS7 默認安裝的是Git 1.8.3.1

(3)創建git目錄和一個空git倉庫

# cd /

# mkdir git

# cd git

# git init --bare test.git

到此一個簡單的Git服務器倉庫就創建完成

(4)創建git運行用戶並設置密碼

# useradd git

# passwd git

因為服務器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務器上去改工作區,並且服務器上的Git倉庫通常都以.git結尾。然後,把用戶git的權限變為可讀:

# chown -R git:git test.git

禁用shell登錄,出於安全考慮,創建的git用戶不允許登錄shell,這可以通過終端編輯/etc/passwd文件完成。

# vi /etc/passwd

找到類似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改為:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

1.2.2搭建gitlab

以下的yum源均屬於網絡源

(1)安裝和配置必要的依賴關系

# sudo yum install curl policycoreutils openssh-server openssh-clients

# sudo systemctl enable sshd

# sudo systemctl start sshd

# sudo yum install postfix

# sudo systemctl enable postfix

# sudo systemctl start postfix

# sudo firewall-cmd --permanent --add-service=http

# sudo systemctl reload firewalld

(2) 添加GitLab包服務器和安裝包

# sudo yum install gitlab-ce

(3) 配置和啟動 GitLab

# sudo gitlab-ctl reconfigure

(4)登陸IP配置

技術分享

(5)關閉gitlab的自動啟動# systemctl disable gitlab-runsvdir.service

(6) 開啟gitlab的自動啟動

# systemctl enable gitlab-runsvdir.service # systemctl start gitlab-runsvdir.service # gitlab-cmd start

1.3 客戶端的基本使用

1.3.1 基本使用

常用操作如下:

1.獲取一個url對應的遠程Git repo, 創建一個local copy.

# git clone <URL>

2 .查看修改更新了哪些文件# git status 3 .添加文件 # git add <*> 4.查看已經添加了的文件 # git status

5. 抓取遠程倉庫所有分支更新並合並到本地

# git pull

6. 查看遠程服務器地址和倉庫名稱

# git remote -v

7.從版本庫中刪除文件

# git rm <file>

1.3.2 客戶端無密碼訪問

背景:

Git使用https協議,每次pull, push都要輸入密碼,比較麻煩。 使用git協議,然後使用ssh密鑰。這樣可以省去每次都輸密碼

大概需要三個步驟:

  1. 本地生成秘鑰

首先先確認一下是否已經有一個公鑰了。SSH 公鑰默認儲存在賬戶的主目錄下的 ~/.ssh 目錄。

# cd ~/.ssh

# ls

關鍵是看有沒有用 something 和 something.pub 來命名的一對文件,這個 something 通常就是 id_dsa 或 id_rsa。有 .pub 後綴的文件就是公鑰,另一個文件則是密鑰。假如沒有這些文件,或者幹脆連 .ssh 目錄都沒有,可以用 ssh-keygen 來創建。

# ssh-keygen

一直回車即可

  1. 添加公鑰到你的github帳戶

查看公鑰

# cat ~/.ssh/id_rsa.pub

技術分享

登陸github帳戶點擊 SSH Keys -> 點擊 Add SSH key

技術分享

技術分享

然後你復制上面的公鑰內容,粘貼進“Key”文本域內。 title域,你隨便填一個都行。 完了,點擊 Add key

  1. 修改你本地的ssh remote url

編輯remote url. 使其不用https協議,改用git 協議

可以使用瀏覽器登陸你的github,在上面可以看到你的ssh協議相應的url

# vi /home/ecloud/.git/config

技術分享

1.3.3 解決沖突的常用方法

本地文件與服務器端文件不同步時,執行git會抱錯

常用的解決辦法就算讓服務端文件完全覆蓋本地

# git checkout 報錯文件路徑

技術分享


git的搭建與使用