2018-06-08

---

title: CentOS搭建Git服務器

date: 2018-06-08 13:08:00

tags: git

---

### 新增服務器管理員:git

>服務器端創(chuàng)建 git 用戶,用來管理 Git 服務,并為 git 用戶設置密碼

```bash

[root@vultr home]# id git

id: git:no such user? # 沒有此用戶

[root@vultr home]# useradd git? // 新增用戶,用戶名為git

[root@vultr home]# passwd git? // 設置新用戶git密碼

```

### 初始化一個git倉庫

```bash

[root@vultr home]# git init --bare home/git/project.git? # 初始化一個倉庫

[root@vultr git]# chown -R git:git project.git? #設置倉庫的管理員為git

# 第一個git表示用戶組,第二個git表示用戶組里面的git用戶

```

* tips:到這里,服務器端的倉庫就新建完了,就是這么簡單

---

### 本地clone倉庫

```bash

> git clone git@149.28.18.111:/home/git/project.git

> Cloning into 'project'...

> warning: You appear to have cloned an empty repository.

# 這樣顯示就表示克隆成功了

```

### 本地新建一個test.txt文件,push到服務器

```bash

>> git status

>> git add -a .

>> git commit -m 'test'

>> git push

git@149.28.18.111's password:

```

> push時會提醒你輸入前面新建的git用戶密碼,輸入后推送成功.輸入密碼時不可見

```bash

Counting objects: 3, done.

Writing objects: 100% (3/3), 204 bytes | 204.00 KiB/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To 149.28.18.111:/home/git/project.git

* [new branch]? ? ? master -> master

```

### git服務器SSH驗證,避免輸入密碼

git每一次push都需要輸入密碼顯然很麻煩,除了密碼的驗證方式,還有ssh(公鑰)驗證方式。

#### 客戶端新建一個ssh(公鑰)

1. 設置Git的user name和email:

```bash

>> git config --global user.name "example"

>> git config --global user.email "example@qq.com"

```

2. 生成密鑰

```bash

>> ssh-keygen -t rsa -C “example@qq.com”

```

3. 生成密鑰成功后,公鑰保存的目錄

```bash

>> C:\Users\你電腦的用戶名\.ssh

# 在這個目錄下有2個文件 `id_rsa`和`id_rsa.pub`.其中id_rsa是你自己的私鑰,本地保存即可,id_rsa.pub是公鑰,需要上傳到服務器

```

4. 服務器端,新建一個文件夾.ssh,一會兒用來存放公鑰,目錄為/home/git/.ssh

```bash

# 新建

[root@vultr git]# mkdir /home/git/.ssh

[root@vultr git]# cd /home/git

# 查看

[root@vultr git]# ls -a

# 出現 .ssh 則表示新建成功

.? ..? project.git? .ssh

```

5. 即將成功了! 客戶端,打開 `id_rsa.pub` 文件,復制內容到本地新建的 `authorized_keys` 文件內。 將 `authorized_keys` 文件上傳到服務器,位置目錄為 `/home/git/.ssh/authorized_keys`。也就是第4步用來存放公鑰的文件夾

6. 測試是否成功!

本地的test.txt文件改動一下內容,再次提交,你會發(fā)現不用密碼了.

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容