首頁 開發工具 Git 如何搭建與設定Git伺服器

如何搭建與設定Git伺服器

Feb 26, 2019 pm 01:11 PM

這篇文章帶給大家的內容是介紹如何搭建和配置Git伺服器,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

安裝Git

#安裝相依性##

yum install curl-devel expat-devel gcc gcc-c++ 
yum install perl perl-devel gettext-devel openssl-devel zlib-devel
登入後複製

編譯安裝Git

# 下载Git
wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

# 解压
tar zxvf git-2.9.5.tar.gz
cd git-2.9.5

# 预编译、编译、安装
make configure
./configure --prefix=/usr/local/git
make && make install
登入後複製

設定環境變數

vim /etc/profile
export PATH="$PATH:/usr/local/git/bin"
source /etc/profile # 使修改立即生效
登入後複製

伺服器配置

建立Git用戶

#建立一個git用戶群組和用戶,用來執行git服務:

groupadd git
useradd git -g git
登入後複製

建立憑證登陸

收集所有需要登入的使用者的公鑰,公鑰位於id_rsa.pub檔案中,把我們的公鑰導入到/home/git/.ssh/authorized_keys檔案裡,一行一個。

如果沒有該檔案需要建立它:

cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
登入後複製

那麼如何在自己的客戶端產生公鑰呢?

如果是windows電腦可以開啟Git客戶端,如果是Mac可以開啟Mac自帶的終端,執行以下指令

ssh-keygen -t rsa -C "你的邮箱"  //例如ssh-keygen -t rsa -C "xxx@gmail.com"
登入後複製
上面的指令執行成功後,透過以下指令取得公鑰
cat ~/.ssh/id_rsa.pub
登入後複製
終端工具會把公鑰印出來,複製公鑰,填入服務端的authorized_keys即可

初始化Git倉庫

首先我們選定一個目錄作為Git倉庫,假定是/ home/gitrepo/blog,在/home/gitrepo目錄下輸入指令:

cd /home
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo

git init --bare blog.git
# 执行完会有如下提示
Initialized empty Git repository in /home/gitrepo/blog.git/
登入後複製

以上指令Git建立一個空倉庫,伺服器上的Git倉庫通常都以.git結尾。然後,把倉庫所屬使用者改為git:

chown -R git:git blog.git
登入後複製

複製倉庫

git clone git@192.168.111.129:/home/gitrepo/blog.git
# 或
git clone ssh://git@192.168.111.129:22/home/gitrepo/blog.git  //版本库地址,支持ssh协议
登入後複製

注意:如果此處提示###git-upload -pack: command not found###,可以在版本伺服器上使用###命令###
ln -s /usr/local/git/bin/git-upload-pack /bin/
登入後複製
###然後重新執行git clone###成功拉取項目後,就可以在本地編輯提交了## #
touch index.php
git add index.php
git commit -a -m'提交index.php文件'
git push origin master   //推送到公共服务器
登入後複製
###在執行push命令式,如果報###git-receive-pack: command not found###錯誤,則再建立一個軟連接即可###
ln -s /usr/local/git/bin/git-receive-pack /bin/
登入後複製
###再次執行推送命令即可。 ######以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! ! ###

以上是如何搭建與設定Git伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Github難以學習嗎? Github難以學習嗎? Apr 02, 2025 pm 02:45 PM

GitHub不難學。 1)掌握基礎知識:GitHub是基於Git的版本控制系統,幫助追踪代碼變化和協作開發。 2)理解核心功能:版本控制記錄每次提交,支持本地工作和遠程同步。 3)學習使用方法:從創建倉庫到推送提交,再到使用分支和拉取請求。 4)解決常見問題:如合併衝突和忘記添加文件。 5)優化實踐:使用有意義的提交消息,清理分支,使用項目板管理任務。通過實踐和社區交流,GitHub的學習曲線並不陡峭。

git和github相同嗎? git和github相同嗎? Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

Microsoft是否擁有Git或Github? Microsoft是否擁有Git或Github? Apr 05, 2025 am 12:20 AM

微軟不擁有Git,但擁有GitHub。 1.Git是林納斯·托瓦茲在2005年創建的分佈式版本控制系統。 2.GitHub是基於Git的在線代碼託管平台,成立於2008年,微軟於2018年收購。

我應該把git或github放在簡歷上嗎? 我應該把git或github放在簡歷上嗎? Apr 04, 2025 am 12:04 AM

在簡歷上應根據職位要求和個人經驗選擇寫Git還是GitHub。 1.如果職位要求Git技能,突出Git。 2.如果職位看重社區參與,展示GitHub。 3.確保詳細描述使用經驗和項目案例,以完整句子結束。

我應該從git還是github開始? 我應該從git還是github開始? Apr 06, 2025 am 12:09 AM

從Git開始更適合深入理解版本控制原理,從GitHub開始更適合關注協作和代碼託管。 1.Git是一個分佈式版本控制系統,幫助管理代碼版本歷史。 2.GitHub是一個基於Git的在線平台,提供代碼託管和協作功能。

什麼是簡單的話? 什麼是簡單的話? Apr 09, 2025 am 12:12 AM

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

如何將github用於HTML? 如何將github用於HTML? Apr 07, 2025 am 12:13 AM

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。

為什麼Gitlab比Github更好? 為什麼Gitlab比Github更好? Apr 03, 2025 am 12:08 AM

GitLab更適合某些開發者和團隊,因為它提供了完整的DevOps工具鍊和強大的CI/CD功能。 1.GitLab的CI/CD功能集成在平台內部,支持從代碼提交到部署的全流程自動化。 2.其服務器端渲染技術提升了大型項目的頁面加載速度。 3.GitLab的權限管理系統更加靈活,支持細粒度控制。

See all articles