Git ialah sistem kawalan versi teragih yang membolehkan anda membangunkan dan mengurus kod secara kolaboratif pada peranti yang berbeza. Jika anda ingin menyediakan pelayan Git di Linux supaya pasukan anda boleh berkongsi dan menyegerakkan kod dengan mudah, maka artikel ini adalah untuk anda. Kami akan memperkenalkan anda cara memasang perisian berkaitan Git di Linux, cara menggunakan Gitosis untuk mengurus pengguna dan gudang, dan cara menggunakan SSH untuk mengakses pelayan Git dengan selamat. Sama ada anda seorang pemula Linux atau pakar Git, artikel ini boleh membantu anda menyediakan pelayan Git dengan cepat dan menjadikan pengurusan kod anda lebih cekap.
Persekitaran bangunan:
Pelayan CentOS6.6 + git (versi 1.8.3.1)
Pelanggan Windows10 + git (versi 2.11.1.windows.1)
1. Pasang perisian berkaitan Git
Linux ialah sistem pelayan, Windows ialah sistem klien, dan Git dipasang masing-masing
Pasang pelayan:
[root@linuxprobe ~]# yum install -y git [root@localhost ~]# git --version //安装完后,查看 Git 版本 git version 1.8.3.1
Pasang pelanggan:
Muat turun Git untuk Windows, alamat: https://git-for-windows.github.io/
Selepas pemasangan, anda boleh menggunakan Git Bash sebagai pelanggan baris arahan.
$ git --version git version 2.11.1.windows.1 //安装完之后,查看Git版本
Pasang Gitosis
[root@linuxprobe ~]# cd software/ [root@linuxprobe software]# git clone https://github.com/res0nat0r/gitosis.git [root@linuxprobe software]# yum install python-setuptools -y [root@linuxprobe software]# cd gitosis [root@linuxprobe gitosis]# sudo python setup.py install
Mesej berikut muncul, menunjukkan bahawa pemasangan berjaya
Using /usr/lib/python2.6/site-packages Finished processing dependencies for gitosis==0.2
2. Cipta pengguna git di bahagian pelayan untuk menguruskan perkhidmatan Git
[root@linuxprobe ~]# id git //查看git用户是否存在 id: git: no such user [root@linuxprobe ~]# useradd git [root@linuxprobe ~]# echo "123" | passwd --stdin git [root@linuxprobe ~]# su - git //切换到git用户下
3. Konfigurasikan kunci awam
Konfigurasikan pengurus pada Windows Pelayan git memerlukan beberapa pengurus Muat naik kunci awam mesin pembangun ke pelayan, tambahkannya sebagai pengurus pelayan git, dan buka baris arahan git.
$ ssh-keygen -t rsa //一直回车,不需要设置密码 ~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~ //复制到git服务器上
4. Konfigurasi gitosis
Gunakan pengguna git dan mulakan gitosis
[root@linuxprobe ~]# cd .ssh [root@linuxprobe ~]# gitosis-init Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ [root@linuxprobe ~]# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update //添加权限
$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git $ cd gitosis-admin $ ls $ gitosis.conf keydir
keydir: menyimpan kunci awam pelanggan
Konfigurasi
gitosis.confFail
$ vim gitosis.conf [gitosis] [group gitosis-admin] #组名称 members = yueyong@SHA2-001 #组成员 writable = gitosis-admin #项目名称 [group test] //这里添加了"test"项目组,上传到个git服务器 members = yueyong@SHA2-001 writable = test
$ git config --global user.name "Your Name" //第一次提交需要设置个人信息,设置用户名和邮箱 $ git config --global user.email "email@example.com" $ cd ~/repo $ mkdir test $ git init $ tocuh readme.txt
$ git add . $ git commit -a -m 'init test' $ git remote add repo git@192.168.186.129:test.git //repo 远程库的名称,可以换成任意名称 $ git push repo master //上传本地所有分支代码到远程对应的分支上
[git@repositories]# pwd /home/git/repositories [git@linuxprobe repositories]$ ls gitosis-admin.git test.git
5. Tambah pembangun pengguna git yang lain
Disebabkan peningkatan bilangan orang dalam pasukan pembangunan syarikat, adalah menyusahkan untuk menambah kunci peribadi pembangun secara manual ke /home/git/.ssh/authorized_keys Pentadbir mesin Windows di atas mengumpul fail kunci peribadi id_rsa.pub daripada pembangun lain, dan kemudian Selepas ia dimuat naik ke pelayan dan dikonfigurasikan, pengguna akan mendapatkan kebenaran projek dan boleh menarik dan menolak projek dari gudang jauh untuk mencapai projek pembangunan bersama.
$ cd ~/gitosis-admin/keydir $ mv ~/id_rsa.pub zhangsan@SHA2-002.pub //修改公钥为主机名.pub $ vim gitosis.conf [group test] writable = test members = yueyong@SHA2-001 zhangsan@SHA2-002 //添加成员 $ git add . $ git commit -m "add zhangsan@SHA2-002 pub and update gitosis.conf" $ git push repo master
git clone git@192.168.34.184:/home/git/repositories/test.git 报错问题:ERROR:gitosis serve main repository read access denied 根据这个报错,可以看出key是没问题的,通过排查,发现不应该把这个/home/git/repositories/test.git写全, git clone git@192.168.34.184:test.git 这样就可以了。
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pelayan Git pada Linux untuk menjadikan pengurusan kod anda lebih cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!