如何搭建和配置Git服务器
本篇文章给大家带来的内容是介绍如何搭建和配置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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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.

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.

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.

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

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.

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

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

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.
