Git服務器環境搭建(打造屬於自己的存儲庫)


Git服務器搭建之CentOs7-阿里雲搭建

首先使用連接工具連接到遠程的阿里雲服務器CentOs7上。

1.安裝Git及創建用戶

# 安裝Git $ yum install git

# 創建一個git用戶組和用戶,用來運行git服務 

$ groupadd git $ adduser git -g git

禁止用戶git登錄:(學習階段可省略)

修改/etc/passwd文件,修改

# 找到這句: git:x:503:503::/home/git:/bin/bash

 # 改為: git:x:503:503::/home/git:/bin/git-shell

 


 

2.創建證書登錄

$ 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,否則還是每次要輸入密碼的。

# 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"

將生成的公鑰放入到服務器中的/home/git/.ssh/authorized_keys目錄中去

 


 

3.初始化Git倉庫

$ 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

 


 

4.克隆倉庫

在另一台電腦上(下面稱為:Client),安裝git,並且運行下面的命令:在這公網ip地址可以改成www.chengcheng.kim(自己的域名)

$ git clone git@39.107.xxx.xxx:/srv/gitrepo/project.git

 


 

5.驗證安裝

5.1推送到遠程服務器

在本地Client的project目錄下,創建一個文件:text.txt,內容隨意,然后上傳到服務器

$ git push origin master

5.2檢驗

在本地Client的另外一個目錄下,克隆一下:

$ git clone git@39.107.xxx.xxx:/srv/gitrepo/project.git

看看text.txt是否存在,內容是否對。

5.3常用的Git命令

git init  //初始化本地git倉庫

git add<file>  //添加文件

git add *.html  //添加一類文件

git add .  //添加所有文件

git status //查看狀態

git commit //提交

git commit -m ''提交並注釋 (這樣就可以不用進入到編輯頁面了)

git push  //從遠程倉庫考取數據

git clone  //從遠程倉庫拷貝數據

git config --global user.name'張宜成'  配置用戶名

git config -- global user.email 'chengchengzhang123@qq.com' 配置郵箱

git rm --cached 文件名  //從add工作區中刪除

git branch 分支名 (創建分支)

git checkout 分支名 (切換到你的分支中)

git checkout master(切換到主分支)

git merge 分支名(在master主分支下使用 將分支合並到主分支)

git remote 查看連接

git remote add origin 鏈接  (創建鏈接)

git remote remove 名稱(刪除remote)

git clone 將服務器端的項目克隆島本地倉庫

touch .gitignore 忽略需要上傳的文件(將要忽略的文件放到該文件夾)

touch.gitignore 忽略文件(/文件名)

README.md文檔 git對項目進行描述

$ git push origin master //推送到遠程倉庫

 


 

根據自己的情況發生的問題:

1.git clone git@39.107.xxx.xxx:/srv/gitrepo/project.git 連接不上Git服務器

解決:將git用戶改為root用戶,在服務器中將home目錄中的設置到root目錄,通過:

 git clone root@www.chengcheng.kim:/test/test.git

就可以實現從遠程服務器克隆到本地的指定目錄

2.當git remote中沒有任何origin,添加並更新后就可以push了

git remote add origin root@www.chengcheng.kim:test/test.git (添加)

git pull origin master   (更新)

$ git push origin master(push)

git remote -v  查看remote的信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM