Rumah alat pembangunan 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中文网相关教程栏目!!!

Atas ialah kandungan terperinci 如何搭建和配置Git服务器. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Mejiro Ryan Build Guide | Uma Musume Pretty Derby
1 bulan yang lalu By Jack chen
Rimworld Odyssey Cara Ikan
4 minggu yang lalu By Jack chen
Apakah had transaksi untuk pengguna asing di Alipay?
4 minggu yang lalu By 下次还敢

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1504
276
Bagaimana saya melihat sejarah komited repositori git saya? Bagaimana saya melihat sejarah komited repositori git saya? Jul 13, 2025 am 12:07 AM

Untuk melihat sejarah komited git, gunakan arahan gitlog. 1. Penggunaan asas adalah gitlog, yang boleh memaparkan hash penyerahan, pengarang, tarikh dan maklumat penyerahan; 2. Gunakan Gitlog-Eleline untuk mendapatkan pandangan ringkas; 3. Penapis oleh pengarang atau maklumat penyerahan melalui -pengadil dan --grep; 4. Tambah -P untuk melihat perubahan kod, --Stat untuk melihat statistik perubahan; 5. Penggunaan --graph dan -semua untuk melihat sejarah cawangan, atau menggunakan alat visualisasi seperti gitkraken dan vscode.

Bagaimana saya memadam cawangan git? Bagaimana saya memadam cawangan git? Jul 13, 2025 am 12:02 AM

Untuk memadam cawangan git, mula -mula pastikan ia telah digabungkan atau tiada pengekalan diperlukan. Gunakan Gitbranch-D untuk memadam cawangan digabungkan tempatan. Jika anda perlu memaksa memadam cawangan yang tidak diturunkan, gunakan parameter -D. Penghapusan Cawangan Jauh menggunakan perintah nama Gitpushorigin-Deletebranch, dan boleh menyegerakkan repositori tempatan orang lain melalui Gitfetch-Prune. 1. Untuk memadam cawangan tempatan, anda perlu mengesahkan sama ada ia telah digabungkan; 2. Untuk memadam cawangan jauh, anda perlu menggunakan parameter --elete; 3. Selepas penghapusan, anda harus mengesahkan sama ada cawangan itu berjaya dikeluarkan; 4. Berkomunikasi dengan pasukan untuk mengelakkan secara tidak sengaja memadamkan cawangan bersama; 5. Cawangan -cawangan yang tidak berguna secara berkala untuk memastikan gudang bersih.

Bagaimana saya menambah subtree ke repositori git saya? Bagaimana saya menambah subtree ke repositori git saya? Jul 16, 2025 am 01:48 AM

Untuk menambah subtree ke repositori git, mula-mula tambahkan repositori jauh dan dapatkan sejarahnya, kemudian gabungkannya ke dalam subdirektori menggunakan arahan Gitmerge dan Gitread-tree. Langkah-langkah adalah seperti berikut: 1. Gunakan perintah Gitremoteadd-F untuk menambah repositori jauh; 2. Jalankan gitmerge-srecursive-no-commit untuk mendapatkan kandungan cawangan; 3. Gunakan Gitread-Tree-Prefix = untuk menentukan direktori untuk menggabungkan projek sebagai subtree; 4. Mengemukakan perubahan untuk melengkapkan penambahan; 5. Apabila mengemas kini, gitfetch terlebih dahulu dan ulangi penggabungan dan langkah -langkah untuk menyerahkan kemas kini. Kaedah ini mengekalkan sejarah projek luaran lengkap dan mudah dikekalkan.

Bagaimana saya mengeluarkan fail dari kawasan pementasan git? Bagaimana saya mengeluarkan fail dari kawasan pementasan git? Jul 12, 2025 am 01:27 AM

Soundstageafafileiititwittingchatcase, usegitizeadtordoremeVome fromarningeailact.toundact rungit reset.forpartialstialing, usgit Rests-ptointelaveevstehuncificisshunissehunissue

Bagaimana saya memaksa memadam cawangan git, walaupun ia tidak digabungkan? Bagaimana saya memaksa memadam cawangan git, walaupun ia tidak digabungkan? Jul 14, 2025 am 12:10 AM

Untuk memaksa memadam cawangan git yang tidak diturunkan, gunakan perintah Gitbranch-D. Perintah ini mengabaikan status gabungan cawangan dan memadamkannya secara langsung. Ia sesuai untuk cawangan yang tidak berguna selepas menguji, cawangan ciri yang ditinggalkan, atau cawangan lama tempatan yang perlu dicipta dari jauh. Walau bagaimanapun, perlu diperhatikan bahawa rekod penyerahan masih akan wujud secara tempatan selepas penghapusan dan akhirnya akan dibersihkan oleh mekanisme pengumpulan sampah; Selepas penghapusan yang salah, ia boleh dipulihkan melalui Gitreflog, tetapi tempoh tingkap adalah pendek. Oleh itu, sebelum pelaksanaan, pastikan untuk mengesahkan bahawa cawangan itu tidak berguna, tidak dikendalikan dan namanya adalah betul untuk mengelakkan kehilangan data.

Bagaimana saya menjejaki cawangan terpencil di dalam negara? Bagaimana saya menjejaki cawangan terpencil di dalam negara? Jul 10, 2025 am 11:42 AM

Totrackaremotebranchlocallyingit, usegitcheckout-b/whilcreateanewbranch.forexistingbranches, usegitbranch-set-upstream-to = asal-usul/.alternative, pushwithgitpush-uorigintosettrackautomatically.verifywithgitstatuscatusbon

Bagaimana saya membuat cawangan dari stash? Bagaimana saya membuat cawangan dari stash? Jul 14, 2025 am 12:47 AM

TOCREATEABRANCHFROMASTASHITIT, FirstListyourStashesWithGitStashlistToidentifyTheCorrectone.next, createanewbranchusinggitcheckout-bnew-name, thenapplythestashviagitstashapplystash@{0}

Bagaimana saya squash berkomitmen semasa rebase interaktif? Bagaimana saya squash berkomitmen semasa rebase interaktif? Jul 10, 2025 am 11:32 AM

Untuk memampatkan pelbagai komitmen dalam sejarah komitmen git, anda boleh menggunakan asas interaktif (gitrebase-i), 1. 2. Tukar pilihan sebelum komit untuk digabungkan dalam editor untuk skuasy atau s; 3. Selepas menyimpan, masukkan antara muka editor baru untuk menggabungkan atau mengubah suai maklumat komit; 4. Sekiranya terdapat konflik, laksanakan Gitadd dan Gitrebase-berterusan untuk meneruskan selepas menyelesaikan secara manual; 5. Jika terdapat ralat, anda boleh membatalkan pada bila-bila masa dengan Gitrebase-Abort. Berhati -hati untuk mengelakkan komitmen yang telah ditolak ke cawangan yang dikongsi melainkan pengesahan tidak mempunyai kesan dan mengendalikan perintah komitmen dan konflik dengan berhati -hati.

See all articles