環境說明
- CentOS 7.x 最小安裝
- 配置網絡鏈接git
# 安裝Git
$ yum install git
# 建立一個git用戶組和用戶,用來運行git服務
$ groupadd git
$ adduser git -g git
禁止git用戶登陸:shell
修改/etc/passwd
文件,修改vim
# 找到這句: git:x:503:503::/home/git:/bin/bash # 改成: git:x:503:503::/home/git:/bin/git-shell
$ mkdir /home/git/.ssh
$ chmod 700 /home/git/.ssh
$ touch 700 /home/git/.ssh/authorized_keys
$ chmod 600 /home/git/.ssh/authorized_keys
注意,若是是採用的sudo
方式來建立git和相應的文件的,須要設置/home/git/.ssh/
的owner爲git,不然仍是每次要輸入密碼的。bash
# owner改成git
$ sudo chown -R git:git /home/git/.ssh/
編輯/home/git/.ssh/authorized_keys
,把客戶端的公鑰放進去,1個公鑰1行。服務器
附:如何建立私鑰:網絡
# 建立私鑰,文件位於用戶主目錄裏找到.ssh目錄,裏面有id_rsa和id_rsa.pub兩個文件
$ ssh-keygen -t rsa -C "youremail@example.com"
3.初始化Git倉庫ssh
$ cd /srv $ mkdir gitrepo $ chown git:git gitrepo/ $ cd gitrepo # 建立一個空的Git倉庫,服務器上的Git倉庫一般都以.git結尾 $ git init --bare project.git # 將倉庫所屬用戶改成git $ chown -R git:git project.git
在另外一臺電腦上(下面稱爲:Client),安裝git,而且運行下面的命令:spa
$ git clone git@10.123.123.123:/srv/gitrepo/project.git
在本地Client的project目錄下,建立一個文件:text.txt,內容隨意,而後上傳到遠端:code
$ git push origin master
在本地Client的另一個目錄下,克隆一下:blog
$ git clone git@10.123.123.123:/srv/gitrepo/project.git
看看text.txt文件是否存在,內容是否對。
$ git add . 添加全部文件 注意有個 . $ git commit -m '註釋' 提交本地 $ git push origin master提交給默認分支 $ git -rm 刪除 $ git pull origin master 從默認分支下載 $ git branch -v 查看全部分支
注意:由於git默認走的是ssh端口,而ssh端口默認爲22,公司通常都修改了該默認端口;此時須要以下操做:在用戶的家目錄下的./ssh/目錄裏建立config文件:vim /home/git/.ssh/config以ip訪問的,則添加以下內容:Host "114.113.152.105"Port 21113