Git est l'un des systèmes de contrôle de version distribués les plus populaires et est largement utilisé dans le développement de logiciels et la gestion de code. En plus du protocole SSH, Git prend également en charge le protocole HTTP comme l'un des protocoles d'accès aux systèmes de contrôle de version. Cet article explique comment utiliser le protocole HTTP de Git.
Le protocole HTTP de Git comporte deux modes : HTTP intelligent et HTTP restreint. Parmi eux, le mode HTTP intelligent est le mode recommandé car il peut utiliser des niveaux d'interaction et d'autorisation plus élevés, notamment vérifier si la soumission est correcte, autoriser l'utilisation d'extensions de protocole, etc.
Avant d'utiliser le protocole HTTP de Git, vous devez d'abord configurer un serveur HTTP. Vous pouvez utiliser des serveurs Web courants tels qu'Apache ou Nginx. Si vous utilisez un système Linux, vous pouvez installer Apache à l'aide de la commande suivante dans le terminal :
sudo apt-get update sudo apt-get install apache2
Une fois l'installation terminée, vous devez configurer le serveur Apache pour prendre en charge Git HTTP. Ceci peut être réalisé en modifiant le fichier "/etc/apache2/sites-available/000-default.conf". Ajoutez ce qui suit à la fin du fichier :
SetEnv GIT_PROJECT_ROOT /path/to/your/git/repo SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
Où "/path/to/your/git/repo" doit être remplacé par le chemin de votre référentiel Git. Ensuite, redémarrez le serveur Apache :
sudo service apache2 restart
Le processus de création d'un référentiel Git est le même qu'un référentiel normal. Exécutez la commande suivante dans le terminal :
cd /path/to/your/git/repo mkdir my-project.git cd my-project.git git init --bare
Vous pouvez désormais cloner le nouveau référentiel Git via le protocole HTTP de Git. Exécutez la commande suivante dans le terminal :
git clone http://your-server.com/git/my-project.git
Où "votre-serveur.com" doit être remplacé par le nom d'hôte ou l'adresse IP du serveur HTTP que vous utilisez.
Si vous souhaitez cloner le référentiel via le protocole HTTPS, vous pouvez utiliser la commande suivante :
git clone https://your-server.com/git/my-project.git
Par défaut, n'importe qui peut accéder et cloner votre référentiel Git via le protocole HTTP de Git. Pour que l'accès et le clonage soient contrôlés, vous avez besoin d'une autorisation et d'une authentification.
Lors de l'utilisation du serveur Apache, l'authentification peut être réalisée via le fichier .htaccess. Créez un fichier nommé ".htaccess" dans le répertoire du référentiel Git et ajoutez le contenu suivant :
AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/apache2/.htpasswd Require valid-user
Où "/etc/apache2/.htpasswd" doit être remplacé par le .htpasswd de votre choix avec les autorisations de lecture et d'écriture complètes. chemin d'accès au fichier htpasswd. Créez le fichier .htpasswd en exécutant la commande suivante :
sudo htpasswd -c /etc/apache2/.htpasswd username
où "username" est le nom d'utilisateur de votre choix. Il vous demandera votre mot de passe. Vous pouvez ensuite cloner le référentiel Git et vous authentifier en exécutant la commande suivante :
git clone http://your-server.com/git/my-project.git
Saisissez un nom d'utilisateur et un mot de passe de votre choix pour accéder et cloner le référentiel Git.
Résumé
Cet article explique comment utiliser le protocole HTTP de Git pour accéder et cloner les référentiels Git. En configurant un serveur HTTP et en créant un référentiel Git, vous pouvez utiliser le protocole HTTP de Git pour le contrôle de version et la gestion du code. Le mode HTTP intelligent est recommandé car il permet d'utiliser des niveaux d'interaction et d'autorisation plus élevés, notamment de vérifier que les soumissions sont correctes, d'autoriser l'utilisation d'extensions de protocole, etc. Vous pouvez également utiliser l'authentification et l'autorisation pour restreindre l'accès et le clonage.
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!