1. 程式人生 > >在Linux上搭建git伺服器

在Linux上搭建git伺服器

這裡我使用的是centos伺服器 1、安裝git yum -y install git 2、新新增使用者git adduser git 3、進入/etc/passwd將 git:x:1001:1001:,,,:/home/git:/bin/bash 改為 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 以禁止git使用Shell登入伺服器 4、建立證書登入:收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行一個 這個就是公鑰 需要將自己電腦的這個公鑰上傳到centos伺服器的指定目錄下。 5

、選好一個空目錄作為伺服器共享出去,初始化倉庫:sudo git init --bare sample.git 6、因為伺服器只是為了共享,所以不讓使用者登入上去到工作區: sudo chown -R git:git huang.git 7、克隆遠端倉庫,格式為:git clone [email protected]:/srv/huang.git 這裡的server是伺服器IP 操作如下: 在本機電腦隨意位置建立個空資料夾 這樣遠端git伺服器就搭好了。

遠端同步需要操作的命令:

git init
git remote add origin [email protected]:/usr/bon/huang.git
cd huang/
touch HELLO.txt && echo "123" >> HELLO.txt
ls
cat HELLO.txt
git add .
git commit -m "first commit"
git push -u origin master

提交完成。

總結使用git命令進行遠端同步出錯時的改正方法: error: failed to push some refs to ‘xxxxxxx’ (這裡為遠端倉庫地址) 可以使用:git pull --rebase origin master 使用–rebase 引數的作用是,提交線圖有分叉的話,Git 會通過 rebase 策略來代替預設的 merge 策略

PS:儘量使用git pull, 不讓git clone的話,在push時候提交會出錯, 如果強制使用git push -f -u origin master命令,會將遠端倉庫的之前的commit清空,需要慎重操作。 另外,我們可以在平時使用git push之前先下載、再合併,然後push

git fetch origin master
git merge origin master
git push