新增服務(wù)器管理員:git
服務(wù)器端創(chuàng)建 git 用戶,用來管理 Git 服務(wù),并為 git 用戶設(shè)置密碼
[root@vultr home]# id git
id: git:no such user # 沒有此用戶
[root@vultr home]# useradd git // 新增用戶,用戶名為git
[root@vultr home]# passwd git // 設(shè)置新用戶git密碼
初始化一個git倉庫
[root@vultr home]# git init --bare home/git/project.git # 初始化一個倉庫
[root@vultr git]# chown -R git:git project.git #設(shè)置倉庫的管理員為git
# 第一個git表示用戶組,第二個git表示用戶組里面的git用戶
- tips:到這里,服務(wù)器端的倉庫就新建完了,就是這么簡單
本地clone倉庫
> 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到服務(wù)器
>> git status
>> git add -a .
>> git commit -m 'test'
>> git push
git@149.28.18.111's password:
push時會提醒你輸入前面新建的git用戶密碼,輸入后推送成功.輸入密碼時不可見
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服務(wù)器SSH驗證,避免輸入密碼
git每一次push都需要輸入密碼顯然很麻煩,除了密碼的驗證方式,還有ssh(公鑰)驗證方式。
客戶端新建一個ssh(公鑰)
- 設(shè)置Git的user name和email:
>> git config --global user.name "example"
>> git config --global user.email "example@qq.com"
- 生成密鑰
>> ssh-keygen -t rsa -C “example@qq.com”
- 生成密鑰成功后,公鑰保存的目錄
>> C:\Users\你電腦的用戶名\.ssh
# 在這個目錄下有2個文件 `id_rsa`和`id_rsa.pub`.其中id_rsa是你自己的私鑰,本地保存即可,id_rsa.pub是公鑰,需要上傳到服務(wù)器
- 服務(wù)器端,新建一個文件夾.ssh,一會兒用來存放公鑰,目錄為/home/git/.ssh
# 新建
[root@vultr git]# mkdir /home/git/.ssh
[root@vultr git]# cd /home/git
# 查看
[root@vultr git]# ls -a
# 出現(xiàn) .ssh 則表示新建成功
. .. project.git .ssh
即將成功了! 客戶端,打開
id_rsa.pub文件,復(fù)制內(nèi)容到本地新建的authorized_keys文件內(nèi)。 將authorized_keys文件上傳到服務(wù)器,位置目錄為/home/git/.ssh/authorized_keys。也就是第4步用來存放公鑰的文件夾測試是否成功!
本地的test.txt文件改動一下內(nèi)容,再次提交,你會發(fā)現(xiàn)不用密碼了.