Maison  >  Article  >  Tutoriel système  >  Comment déployer le serveur Git sur Linux pour rendre votre gestion de code plus efficace

Comment déployer le serveur Git sur Linux pour rendre votre gestion de code plus efficace

PHPz
PHPzavant
2024-02-09 23:09:12460parcourir

Git est un système de contrôle de version distribué qui vous permet de développer et de gérer du code de manière collaborative sur différents appareils. Si vous souhaitez configurer un serveur Git sous Linux afin que votre équipe puisse facilement partager et synchroniser du code, alors cet article est fait pour vous. Nous vous présenterons comment installer les logiciels liés à Git sur Linux, comment utiliser Gitosis pour gérer les utilisateurs et les entrepôts, et comment utiliser SSH pour accéder en toute sécurité aux serveurs Git. Que vous soyez novice sous Linux ou maître de Git, cet article peut vous aider à mettre en place rapidement un serveur Git et à rendre la gestion de votre code plus efficace.

Comment déployer le serveur Git sur Linux pour rendre votre gestion de code plus efficace

Environnement du bâtiment :

Serveur CentOS6.6 + git (version 1.8.3.1)

Client Windows10 + git (version 2.11.1.windows.1)

1. Installez les logiciels associés à Git

Linux est le système serveur, Windows est le système client et Git est installé respectivement

Installer le serveur :

[root@linuxprobe ~]# yum install -y git
[root@localhost ~]# git --version     //安装完后,查看 Git 版本
git version 1.8.3.1

Installer le client :

Téléchargez Git pour Windows, adresse : https://git-for-windows.github.io/

Après l'installation, vous pouvez utiliser Git Bash comme client de ligne de commande.

$ git --version
git version 2.11.1.windows.1       //安装完之后,查看Git版本

Installer 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

Le message suivant apparaît, indiquant que l'installation est réussie

 Using /usr/lib/python2.6/site-packages
 Finished processing dependencies for gitosis==0.2

2. Créez un utilisateur git côté serveur pour gérer le service 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. Configurer la clé publique

Configurez le gestionnaire sous Windows. Le serveur git a besoin de quelques gestionnaires. Téléchargez la clé publique de la machine du développeur sur le serveur, ajoutez-la en tant que gestionnaire du serveur git et ouvrez la ligne de commande git

.
$ ssh-keygen -t rsa     //一直回车,不需要设置密码
~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~    //复制到git服务器上

4. Configurez la gitose

Utilisez l'utilisateur git et initialisez 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     //添加权限

Clonez gitosis-admin sur la machine Windows vers l'hôte administrateur

$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git
$ cd gitosis-admin
$ ls
$ gitosis.conf keydir

gitosis.conf : fichier de configuration du serveur git

keydir : stocke la clé publique du client

Configurationgitosis.confFichier

$ vim gitosis.conf
[gitosis]

[group gitosis-admin]            #组名称
members = yueyong@SHA2-001       #组成员
writable = gitosis-admin         #项目名称

[group test]               //这里添加了"test"项目组,上传到个git服务器
members = yueyong@SHA2-001
writable = test

Créez un référentiel de test local sur la machine de l'administrateur Windows et téléchargez-le sur le serveur git

$ git config --global user.name "Your Name"         //第一次提交需要设置个人信息,设置用户名和邮箱
$ git config --global user.email "email@example.com"
$ cd ~/repo 
$ mkdir test
$ git init
$ tocuh readme.txt

Soumettre au serveur distant

$ git add .
$ git commit -a -m 'init test'
$ git remote add repo git@192.168.186.129:test.git   //repo 远程库的名称,可以换成任意名称
$ git push repo master    //上传本地所有分支代码到远程对应的分支上

Le serveur créera automatiquement un entrepôt de test

[git@repositories]# pwd
/home/git/repositories
[git@linuxprobe repositories]$ ls
gitosis-admin.git  test.git

5. Ajouter d'autres développeurs utilisateurs git

En raison du nombre croissant de personnes dans l'équipe de développement de l'entreprise, il est difficile d'ajouter manuellement la clé privée du développeur à /home/git/.ssh/authorized_keys. L'administrateur de la machine Windows ci-dessus collecte le fichier de clé privée id_rsa.pub. d'autres développeurs, puis après avoir été téléchargé sur le serveur et configuré, l'utilisateur obtiendra les autorisations de projet et pourra extraire et pousser des projets depuis l'entrepôt distant pour réaliser des projets de développement conjoints.

$ 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

Une fois le push terminé, les développeurs nouvellement ajoutés peuvent développer le projet. Les ajouts ultérieurs de personnel peuvent être ajoutés de cette manière. Les développeurs peuvent directement cloner l'entrepôt.

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
这样就可以了。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer