天天看點

ubuntu上搭建git伺服器

ubuntu上搭建git伺服器

git伺服器搭建

1.1安裝git

1.2 建立git使用者

mrwuzs@mrwuz:~$ sudo adduser git
[sudo] mrwuzs 的密碼: 
正在添加使用者"git"...
正在添加新組"git" (1001)...
正在添加新使用者"git" (1001) 到組"git"...
建立主目錄"/home/git"...
正在從"/etc/skel"複制檔案...
輸入新的 UNIX 密碼: 
重新輸入新的 UNIX 密碼: 
passwd:已成功更新密碼
正在改變 git 的使用者資訊
請輸入新值,或直接敲Enter鍵以使用預設值
	全名 []: 
	房間号碼 []: 
	工作電話 []: 
	家庭電話 []: 
	其它 []: 
這些資訊是否正确? [Y/n] y
mrwuzs@mrwuz:~$ 

           

1.3建立倉庫

我是在/home下建立的myreponsitory檔案夾,在此檔案夾下初始化一個空的MyProject.git檔案夾改

root@mrwuz:/home# ls
git  mrwuzs  test_du
root@mrwuz:/home# mkdir myreponsitory
root@mrwuz:/home# cd myreponsitory/
root@mrwuz:/home/myreponsitory# ls
root@mrwuz:/home/myreponsitory# git init --bare MyProject.git
初始化空的 Git 倉庫于 /home/myreponsitory/MyProject.git/
root@mrwuz:/home/myreponsitory# 

           

檢視一下文檔結構

root@mrwuz:/home# tree -d
.
├── git
├── mrwuzs
│?? ├── 公共的
│?? ├── 模闆
│?? ├── 視訊
│?? ├── 圖檔
│?? ├── 文檔
│?? ├── 下載下傳
│?? ├── 音樂
│?? └── 桌面
├── myreponsitory
│?? └── MyProject.git
│??     ├── branches
│??     ├── hooks
│??     ├── info
│??     ├── objects
│??     │?? ├── info
│??     │?? └── pack
│??     └── refs
│??         ├── heads
│??         └── tags
└── test_du
    ├── test_du01
    ├── test_du02
    └── test_du03

25 directories
root@mrwuz:/home# 

           

1.4 更改MyProject.git的權限

root@mrwuz:/home/myreponsitory# ls -la
總用量 12
drwxr-xr-x 3 root root 4096 1月   7 17:34 .
drwxr-xr-x 6 root root 4096 1月   7 17:33 ..
drwxr-xr-x 7 root root 4096 1月   7 17:34 MyProject.git
root@mrwuz:/home/myreponsitory# chown -R git:git MyProject.git
root@mrwuz:/home/myreponsitory# ls -la
總用量 12
drwxr-xr-x 3 root root 4096 1月   7 17:34 .
drwxr-xr-x 6 root root 4096 1月   7 17:33 ..
drwxr-xr-x 7 git  git  4096 1月   7 17:34 MyProject.git
root@mrwuz:/home/myreponsitory# 

           

1.5 擷取伺服器的ip

2 用戶端測試

2.1 windows測試1

在windows下安裝好git,請自行搜尋安裝教程。

2.1.1 從伺服器克隆倉庫

wzsfi@DESKTOP-DS5T4V5 MINGW64 ~
$ git clone [email protected]:/home/myreponsitory/MyProject.git
Cloning into \'MyProject\'...
The authenticity of host \'192.168.0.106 (192.168.0.106)\' can\'t be established.
ECDSA key fingerprint is SHA256:SKYGgtFm1ogFTTwftDgipHF841sviOSqzXswW3p2LfI.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added \'192.168.0.106\' (ECDSA) to the list of known hosts.
[email protected]\'s password:
warning: You appear to have cloned an empty repository.

           

2.2.2 往倉庫推送内容

wzsfi@DESKTOP-DS5T4V5 MINGW64 ~/MyProject (master)
$ git add test.txt
wzsfi@DESKTOP-DS5T4V5 MINGW64 ~/MyProject (master)
$ git commit -m "tets"
[master (root-commit) 2fbf0f8] tets
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
wzsfi@DESKTOP-DS5T4V5 MINGW64 ~/MyProject (master)
$ git push origin master
[email protected]\'s password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 201 bytes | 67.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To 192.168.0.106:/home/myreponsitory/MyProject.git
 * [new branch]      master -> master