Entrepôt distant Git
Git n'a pas de serveur central comme SVN.
Les commandes Git que nous utilisons actuellement sont toutes exécutées localement, si vous souhaitez partager votre code ou collaborer avec d'autres développeurs via Git. Vous devez ensuite placer les données sur un serveur auquel d'autres développeurs peuvent se connecter.
Cet exemple utilise Github comme entrepôt distant. Vous pouvez d'abord lire notre Tutoriel concis sur Github.
Ajouter un référentiel distant
Pour ajouter un nouveau référentiel distant, vous pouvez spécifier un nom simple pour référence future. Le format de commande est le suivant :
git remote add [shortname] [url]<. 🎜 >Cet exemple utilise Github comme entrepôt distant. Si vous n'avez pas Github, vous pouvez vous inscrire sur le site officiel
https://github.com/.
$ ssh-keygen -t rsa -C "youremail@example.com"Remplacez votre_email@votreemail.com par l'adresse e-mail que vous avez enregistrée sur github. Il vous sera ensuite demandé de confirmer le chemin et de saisir un mot de passe. Nous utilisons simplement celui par défaut et appuyons sur Entrée. . En cas de succès, un dossier .ssh sera généré sous ~/, entrez, ouvrez id_rsa.pub et copiez la clé à l'intérieur. Retournez sur github, entrez dans les paramètres du compte, sélectionnez Clés SSH sur la gauche, Ajouter une clé SSH, remplissez le titre comme vous le souhaitez et collez la clé générée sur votre ordinateur. Afin de vérifier le succès, entrez la commande suivante :
$ ssh -T git@github.com Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.La commande suivante montre que nous nous sommes connectés avec succès à Github. Après vous être connecté, cliquez sur « Nouveau référentiel » comme indiqué ci-dessous : Remplissez ensuite w3cschool.cc (nom de l'entrepôt distant) dans le nom du référentiel. , conservez les autres paramètres par défaut, cliquez sur le bouton "Créer un référentiel", et un nouveau référentiel Git est créé avec succès : Une fois la création réussie, les informations suivantes s'affichent : Les informations ci-dessus nous indiquent que nous pouvons cloner un nouvel entrepôt à partir de cet entrepôt, ou pousser le contenu de l'entrepôt local vers l'entrepôt GitHub. Maintenant, nous suivons les invites de GitHub et exécutons la commande sous le référentiel local :
$ ls README w3cschoolphp中文网测试.txt test.txt $ git remote add origin git@github.com:tianqixin/w3cschool.cc.git $ git push -u origin master Counting objects: 21, done. Delta compression using up to 4 threads. Compressing objects: 100% (15/15), done. Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done. Total 21 (delta 4), reused 0 (delta 0) To git@github.com:tianqixin/w3cschool.cc.git * [new branch] master -> master Branch master set up to track remote branch master from origin.Veuillez copier les commandes suivantes en fonction de l'endroit où vous avez réussi à créer un nouveau référentiel sur Github, et non en fonction de ce que j'ai fournie., car nos noms d'utilisateur Github sont différents et les noms d'entrepôt sont également différents. Ensuite, nous retournons à l'entrepôt créé par Github, et vous pouvez voir que le fichier a été téléchargé sur Github :
Afficher la bibliothèque distante actuellePour voir quels référentiels distants sont actuellement configurés, vous pouvez utiliser la commande :
git remote
$ git remote origin $ git remote -v origin git@github.com:tianqixin/w3cschool.cc.git (fetch) origin git@github.com:tianqixin/w3cschool.cc.git (push)Ajoutez le paramètre -v lors de l'exécution, et vous pouvez également voir l'adresse de lien réelle de chaque alias.
Extraire le référentiel distant
Git dispose de deux commandes pour extraire les mises à jour du référentiel distant.
1. Téléchargez de nouvelles branches et données depuis l'entrepôt distant :
git fetch
Après avoir exécuté cette commande, vous devez exécuter git merge de la branche distante vers votre branche.
2. Extrayez les données du référentiel distant et essayez de les fusionner dans la branche actuelle :
git pull
Cette commande consiste à exécuter git fetch suivi de git merge pour déplacer la branche distante vers n'importe quelle branche. vous êtes dessus.
En supposant que vous ayez configuré un entrepôt distant et que vous souhaitiez récupérer les données mises à jour, vous pouvez d'abord exécuter git fetch [alias] Dites à Git de récupérer les données dont il dispose et que vous n'avez pas, puis vous pourrez faire git merge [alias]/[branch] pour fusionner toutes les mises à jour sur le serveur (en supposant que quelqu'un soit poussé vers le serveur à ce point) dans votre branche actuelle.
Ensuite, nous cliquons sur "w3cschoolphp Chinese network test.txt" sur Github et le modifions en ligne. Ensuite, nous le mettons à jour et le modifions localement.
$ git fetch origin Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts. remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From github.com:tianqixin/w3cschool.cc 7d2081c..f5f3dd5 master -> origin/master
Les informations ci-dessus "7d2081c..f5f3dd5 master -> origin/master" indiquent que la branche master a été mise à jour. Nous pouvons utiliser la commande suivante pour synchroniser la mise à jour avec le local :
$ git merge origin/master Updating 7d2081c..f5f3dd5 Fast-forward "w3cschool074107651703653075.txt" | 1 + 1 file changed, 1 insertion(+).
Pousser vers un entrepôt distant
Poussez votre nouvelle succursale et vos données vers une commande d'entrepôt distant :
git push [alias] [branch]
La commande ci-dessus poussera votre branche [branche] vers [alias] sur la branche [branche] de l'entrepôt distant, les exemples sont les suivants.
$ git merge origin/master Updating 7d2081c..f5f3dd5 Fast-forward "w3cschool074107651703653075.txt" | 1 + 1 file changed, 1 insertion(+) bogon:w3cschoolcc tianqixin$ vim w3cschoolphp中文网测试.txt bogon:w3cschoolcc tianqixin$ git push origin master Everything up-to-date
Supprimer le référentiel distant
Pour supprimer le référentiel distant, vous pouvez utiliser la commande :
git remote rm [别名]
$ git remote -v origin git@github.com:tianqixin/w3cschool.cc.git (fetch) origin git@github.com:tianqixin/w3cschool.cc.git (push) $ git remote add origin2 git@github.com:tianqixin/w3cschool.cc.git $ git remote -v origin git@github.com:tianqixin/w3cschool.cc.git (fetch) origin git@github.com:tianqixin/w3cschool.cc.git (push) origin2 git@github.com:tianqixin/w3cschool.cc.git (fetch) origin2 git@github.com:tianqixin/w3cschool.cc.git (push) $ git remote rm origin2 $ git remote -v origin git@github.com:tianqixin/w3cschool.cc.git (fetch) origin git@github.com:tianqixin/w3cschool.cc.git (push)