Top 10 des commandes GIT essentielles

Top 10 des commandes GIT essentielles
Git est devenu le système de contrôle de version par excellence. La montée de la popularité de Git peut être attribuée à sa vitesse, à son agilité et à sa polyvalence. Que vous soyez un développeur Web indépendant ou un concepteur de logiciels pour les applications de niveau d'entreprise, vous pouvez bénéficier de l'utilisation de Git. Il vous aide à garder une trace de vos fichiers via le versioning systématique. Git facilite la réinstallation des anciennes versions du code ou créez de nouvelles branches pour expérimenter la base de code actuelle. De plus, Git est un système de contrôle de version distribué, ce qui signifie que vous n'avez pas à vous connecter toujours à un serveur central pour faire votre travail.Vous trouverez ci-dessous les commandes GIT essentielles qui vous aideront dans vos tâches quotidiennes. Les exemples simples vous donneront une compréhension des commandes, vous pouvez donc facilement vous souvenir de la syntaxe lorsque vous avez besoin de les utiliser.

1. git ajouter

La commande git add vous permet de commencer à suivre les fichiers et les dossiers de votre référentiel GIT et les déplace vers la zone de mise en scène. Vous devrez utiliser la commande Git Commit pour les rendre permanentes sur vos instantanés historiques.

L'utilisation de la commande est facile. Vous pouvez choisir d'ajouter des fichiers et des dossiers individuellement ou d'utiliser l'opérateur global de type Linux de type Linux (*) pour les ajouter en groupes.

Prenons l'exemple ci-dessous:

Supposons que, dans le cas ci-dessus, nous avons déjà ajouté le Readme.SMS. Mais le reste des fichiers n'a pas été ajouté.

Vérifions le statut:

$ statut git
Sur Branch Master
Votre branche est à jour avec «Origin / Master».
Fichiers non suivis:
(Utilisez 'git ajouter…' pour inclure dans ce qui sera engagé)
fichier1.SMS
fichier2.SMS
dossier1 /

Les fichiers et les dossiers sont en rouge, ce qui signifie qu'ils ne sont pas suivis. Nous pouvons les ajouter en utilisant:

$ git ajouter un fichier1.fichier txt2.Folder txt1 / *

Si nous vérifions le statut maintenant:

$ statut git
Sur Branch Master
Votre branche est à jour avec «Origin / Master».
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Nouveau fichier: fichier1.SMS
Nouveau fichier: fichier2.SMS
Nouveau fichier: dossier1 / fichier3.SMS
Nouveau fichier: dossier1 / fichier4.SMS

La commande git add a ajouté les fichiers à la zone de mise en scène. Les fichiers sont conservés dans la zone de mise en scène avant de les rendre permanents via le processus de validation.

2. branche git

Sur Git, la branche est facile. Dans d'autres systèmes de contrôle de version, c'était une opération coûteuse. Mais les algorithmes GIT sont optimisés pour la ramification. Vous pouvez donc utiliser la commande Git Branch chaque fois que vous souhaitez créer une ligne de développement distincte sans vous soucier des performances.

Regardons l'exemple suivant.

$ statut git
Sur Branch Master
Votre branche est à jour avec «Origin / Master».
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Nouveau fichier: fichier1.SMS
Nouveau fichier: fichier2.SMS
Nouveau fichier: dossier1 / fichier3.SMS
Nouveau fichier: dossier1 / fichier4.SMS

Remarquez que nous sommes «sur Branch Master». Lorsque vous créez un nouveau projet, vous vous retrouverez dans Branch Master. Vous pouvez également utiliser la commande GIT BRANCH -UN pour savoir quelle branche vous êtes:

$ Git Branch -a
* maître

Ce qui précède vous dit qu'il n'y a qu'une seule branche appelée «maître» et l'astérisque (*) signifie que vous êtes sur cette branche.

Créons une nouvelle branche appelée «test»:

$ test de succursale Git

Maintenant, nous pouvons vérifier à nouveau les branches:

$ Git Branch -a
* maître
essai

Même si, nous sommes toujours sur la branche «maître», nous pouvons également voir la nouvelle branche «Test» qui a été créée. La branche «Testing» est une réplique de la branche «maître».

3. caisse git

La commande Git Checkout vous emmène dans une branche, afin que vous puissiez travailler sur les ressources là-dedans. Vous pouvez considérer les branches comme des rivières et des ruisseaux. Avec une branche, vous créez un nouveau flux. Avec la commande de paiement, vous passez à ce flux.

Découvrez la branche «Test» de l'exemple précédent:

$ Test de paiement
Passé à la succursale «test»

Vérifions maintenant le statut et les branches:

$ statut git
Sur les tests de succursale
Rien à commettre, répertoire en activité propre
$ Git Branch -a
maître
* Test

Vous pouvez voir sur la branche GIT -Une que nous avons déménagé dans la branche de test.

4. clone git

La commande git clone vous permet de faire une copie de tout référentiel GIT. Dès que vous clonez un référentiel, le nouveau dossier cloné commencera à garder une trace des changements localement. Parce que Git est distribué, un clone est un référentiel GIT entièrement autonome.

Afin de montrer comment fonctionne le clonage, créons un nouveau référentiel:

$ mkdir dir1
$ cd dir1
$ mkdir myproject
$ cd myproject /
$ git init
Initialisé le référentiel git vide dans / dir1 / myproject /.git /
$ tactile readme.SMS
$ git commit -m 'initialiser mon référentiel'
[Master (Root-Commit) 5A0BD75] Initialisez mon référentiel
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Readme.SMS

Dans l'exemple ci-dessus, nous avons créé le référentiel Git appelé dossier 'myproject' inside 'dir1'. Supposons que ce soit notre principal référentiel. Maintenant, nous voulons en faire une copie et travailler ailleurs.

Créons un répertoire appelé «dir2» et clone le référentiel «myproject». Nous utilisons le clone Git pour clone «myproject»:

$ mkdir dir2
$ cd dir2
$ git clone / dir1 / myproject /
Clonage dans «myproject»…
fait.
$ ls
mon projet

La commande Git Clone fonctionne également avec une URL.

$ git clone https: // github.com / test / test.git

Vous pouvez également modifier le nom du clone en le spécifiant après l'adresse du référentiel GIT:

$ git clone https: // github.com / test / test.git mytest

5. git engager

La commande git commit est exécutée après la commande git ajouter. Dans notre exemple d'ajout Git, nous avions ajouté les fichiers de suivi, mais nous ne l'avions pas commis au référentiel GIT. Le suivi reste local jusqu'à ce qu'un engagement soit fait. Lorsque vous commettez les changements, ils font partie du dossier permanent.

Ci-dessous, nous exécutons la commande git commit -m:

$ git commit -m 'engager mes fichiers et mes dossiers'
[Master 3EF57B3] Engageant mes fichiers et mes dossiers
4 fichiers modifiés, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Fichier1.SMS
Créer le mode 100644 Fichier2.SMS
Créer le mode 100644 Folder1 / File3.SMS
Créer le mode 100644 Folder1 / File4.SMS

Si vous n'utilisez pas l'option -m pour mettre un commentaire, Git ouvrira votre éditeur de texte par défaut et le demandera. Les commentaires sont considérés comme une bonne pratique de contrôle de version. Alors, mettez toujours des commentaires significatifs dans votre engagement.

6. configuration git

La commande git config vous permet de configurer diverses options pour votre référentiel GIT. Par exemple, vous pouvez utiliser la commande git config -global pour obtenir et définir votre utilisateur.nom et utilisateur.e-mail.

Voici comment vous pouvez définir les valeurs:

$ git config - utilisateur de globe.Nom 'Zak H'
$ git config - utilisateur de globe.Email Zakh @ Exemple.com

Voici comment vous pouvez vérifier les valeurs:

$ git config - utilisateur de globe.nom
Zak h
$ git config - utilisateur de globe.e-mail
zakh @ exemple.com

7. git diff

La commande git diff vous aide à voir les différences entre les fichiers et les dossiers. Si vous apportez des modifications dans un fichier, c'est un outil utile pour évaluer rapidement les modifications que vous avez apportées.

Supposons que nous commencions notre travail avec un Readme.Fichier TXT avec deux lignes. Ensuite, nous nous débarrassons de la deuxième ligne et ajoutons une troisième ligne.

Maintenant, si nous exécutons la commande DIFF, il affichera les différences entre la version engagée et la version modifiée locale dans la zone de mise en scène. Voici à quoi cela ressemblera:

$ git diff
Diff --git A / Readme.txt b / readme.SMS
Index 9475ddc… 1804904 100644
--- a / readme.SMS
+++ B / Readme.SMS
@@ -1,2 +1,2 @@
Ligne 1: Ma première ligne
-Ligne 2: Ma deuxième ligne
+Ligne 3: Ma troisième ligne

La ligne 1 est inchangée (blanche), la ligne 2 retirée (rouge) et la ligne 3 ajoutée (vert).
Vous pouvez utiliser la commande Diff pour trouver également des différences entre des validations particulières.

8. git chercher

La commande git fetch obtient les dernières ressources de l'origine spécifiée.

Regardons un exemple. Supposé que vous avez la condition suivante:

dir1 / myproject
dir2 / myproject (cloné)

Le dossier 'dir2 / myproject' est cloné de 'dir1 / myproject'. Maintenant, si quelqu'un a commis des changements pour «dir1 / myproject», vous pouvez obtenir ces modifications comme celle-ci à l'intérieur «dir2 / myproject»:

$ git fetch origine
Remote: comptage des objets: 2, fait.
Remote: compression des objets: 100% (2/2), fait.
Remote: Total 2 (Delta 0), réutilisé 0 (Delta 0)
Déballage des objets: 100% (2/2), fait.
De / dir2 /… / dir1 / myproject
5A0BD75… 1713734 Maître -> Origine / Maître

Il est important de se rappeler que la commande git fetch ne fusionne pas les changements. Pour une récupération automatique et fusion, utilisez la commande git till. Alors vous vous demandez peut-être pourquoi utiliser cette commande en premier lieu. Il peut y avoir des options GIT avancées où vous obtenez toutes les modifications de votre serveur d'origine, puis appliquez uniquement les modifications à certains fichiers. La commande git fetch vous permet d'y parvenir. Cependant, c'est un sujet avancé que vous pouvez trouver dans la documentation Git Fetch.

9. git grep

La commande git grep vous permet de rechercher des informations sur votre arbre git. Voici un exemple de recherche du mot «ligne» dans notre référentiel Git. L'option -N ou - Number de ligne affiche des numéros de ligne où Git trouve une correspondance:

$ git grep -n ligne
Réadmettre.txt: 1: ligne 1: ma première ligne
Réadmettre.TXT: 2: Ligne 3: Ma troisième ligne

Vous pouvez exécuter une recherche similaire pour un nombre de fois où le match est là avec -c ou - option de comptoir:

Ligne Git Grep -C
Réadmettre.txt: 2

La raison de l'utilisation de Git Grep sur Linux Grep est que Git Grep est plus rapide pour les référentiels Git.

dix. journal git

La commande Git Log vous montre l'historique de la validation.

$ git journal
commit 171373479fc309846ef605fbe650933767afd0fb
Auteur: Zak H
Date: mer 21 nov. 20:26:32 2018 -0800
Nouveaux fichiers ajoutés
Commit 5A0BD759506D20B2B989873258BF60D003AAA3D36
Auteur: Zak H
Date: mer 21 novembre 18:48:35 2018 -0800
Initialiser mon référentiel

Vous pouvez également utiliser l'option --Oneline pour voir une version abrégée. La version abrégée est plus facile à suivre.

$ Git Log --Oneline
1713734 nouveaux fichiers ajoutés
5A0BD75 Initialiser mon référentiel

11. git fusionner

La commande Git Merge fusionne les branches.

Créons un nouveau référentiel avec «Main», puis créons une branche «test».

$ mkdir myproject
$ cd myproject
$ git init
Initialisé le référentiel git vide dans / git_essitentials / myproject /.git /
$ tactile readme.SMS
$ git add -a
$ git commit -m 'initial commit'
[Master (Root-Commit) B31D4E1] Commit initial
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Readme.SMS
$ test de succursale Git
$ Git Branch -a
* maître
test
Test de paiement $ git
Passé à la branche «test»

Dans la branche «test», apportons quelques modifications:

$ touch file1.fichier txt2.SMS
$ Ls
Fichier1.fichier txt2.Txt Readme.SMS
$ git add -a
$ git commit -m 'ajout de deux nouveaux fichiers'
[Test 7E11910] Ajout de deux nouveaux fichiers
2 fichiers modifiés, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Fichier1.SMS
Créer le mode 100644 Fichier2.SMS

Nous avons ajouté deux fichiers au test.

$ Git Branch -a
maître
* test
$ ls
Fichier1.fichier txt2.Txt Readme.SMS
$ maître de paiement
Changé de succursale «maître»
$ Git Branch -a
* maître
test
$ ls
Réadmettre.SMS

Nous voyons à partir de ce qui précède, ce fichier1.txt et file2.txt existe dans la branche «test», mais pas dans «maître».

Mergeons maintenant.

$ git fusion test
Mise à jour de B31D4E1… 7E11910
Avance rapide
Fichier1.txt | 0
Fichier2.txt | 0
2 fichiers modifiés, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Fichier1.SMS
Créer le mode 100644 Fichier2.SMS
$ ls
Fichier1.fichier txt2.Txt Readme.SMS
$ Git Branch -a
* maître
test

Maintenant, nous avons 'File1.txt 'et' file2.txt 'dans la branche' maître 'aussi.

Remarque: pensez à fusionner comme une opération de traction. Vous devez être dans la branche dans laquelle vous souhaitez fusionner. Dans ce cas, vous êtes dans la branche «maître» tirant les modifications de la branche «Test».

12. git mv

Le GIT MV est une commande à raccourci pour exécuter les commandes Git Add et Git RM. Il peut être utilisé pour renommer les fichiers.

Voici un exemple:

$ git mv readme.Txt Readme.Maryland
$ statut git
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Renommé: Readme.txt -> readme.Maryland

13. tirage git

La commande Git Pull ressemble beaucoup à la récupération Git, sauf que la fusion se produit automatiquement.

Voici un exemple de fonctionnement de Git Pull Origin comme le Git Fetch One (nous exécutons une demande de traction du clone pour obtenir des modifications du référentiel GIT d'origine):

$ git till Origin
Remote: comptage des objets: 3, fait.
Remote: compression des objets: 100% (2/2), fait.
Remote: Total 3 (Delta 0), réutilisé 0 (Delta 0)
Déballage des objets: 100% (3/3), fait.
From / Learngit / git_essifals / myproject
7E11910… E67F932 Master -> Origin / Master
Mise à jour du 7e11910… E67F932
Avance rapide
Fichier1.txt | 1 +
Fichier2.txt | 1 +
Fichier3.txt | 1 +
Réadmettre.txt => readme.MD | 0
4 fichiers modifiés, 3 insertions (+)
Créer le mode 100644 Fichier3.SMS
Renommer Readme.txt => readme.MD (100%)

Vous pouvez voir que des changements ont été téléchargés à partir de l'origine et fusionnés dans le clone.

14. push git

La commande git push est utilisée pour pousser les modifications aux référentiels distants. Voici un exemple d'exécution de la commande push:

$ git push origin maître
Compter les objets: 2, fait.
Compression delta en utilisant jusqu'à 4 threads.
Compression des objets: 100% (2/2), fait.
Écriture d'objets: 100% (2/2), 242 octets | 0 octets / s, fait.
Total 2 (Delta 1), réutilisé 0 (Delta 0)
À / Learngit / git_essitentials / myproject
E67F932… 90dc546 Master -> Master

La commande Git Push Origin Master envoie des modifications à la branche «maître» de l'origine (le référentiel Git que vous avez cloné) de la branche «maître» du référentiel cloné. Visuellement, la poussée ressemble à ceci:

cloné / maître -> origine / maître

15. Git Rebase

La commande Git Rebase vous aide à changer la base des branches. Dans une fusion générale, quelque chose comme ça se produit:

La branche de test a été fusionnée dans la succursale «maître» pour créer un nouvel engagement.

Dans une rebase, c'est ce qui se passe:

Les changements de E et F ChangeList sont recalculés et verrouillés à la fin de la branche maîtresse. Rebasing aide à simplifier les branches.

Supposons que nous ayons cette situation dans la branche «maître»:

$ Git Log --Oneline
7F573D8 Commit C: Ajouté C.SMS
795da3c Commit B: ajouté b.SMS
0f4ed5b Commit A: Ajouter un.SMS

Et une branche de fonctionnalité:

$ Git Log --Oneline
8ed0c4e commit f: modifié b.SMS
6E12B57 Commit E: modifié un.SMS
795da3c Commit B: ajouté b.SMS
0f4ed5b Commit A: Ajouter un.SMS

Si nous rebassons, nous obtenons Git Rebase Master:

$ GIT CHECKOT FEATTOW
Couché à la «fonctionnalité» de la branche
$ Git Rebase Master

Tout d'abord, rembobinant la tête pour rejouer votre travail au-dessus…

Appliquer: Commissez E: modifié un.SMS
Appliquer: Commit F: modifié B.SMS
Puis fusionner la «fonctionnalité» dans «maître».
$ maître de paiement
Changé de succursale «maître»
$ git fusiter la fonctionnalité
Mise à jour de 7f573d8… 9efa1a3
Avance rapide
un.txt | 1 +
b.txt | 1 +
2 fichiers modifiés, 2 insertions (+)

Maintenant, si vous accédez à la branche 'Master' et à la succursale, vous verrez les mêmes journaux:

$ Git Log --Oneline
9efa1a3 commit f: modifié b.SMS
8710174 Commit E: modifié un.SMS
7F573D8 Commit C: Ajouté C.SMS
795da3c Commit B: ajouté b.SMS
0f4ed5b Commit A: Ajouter un.SMS

Rebasing les a écrasés ensemble.

Remarque: N'utilisez jamais de rebasing dans les référentiels publics car les développeurs rencontreront des problèmes de fusion majeurs.

télécommande git

La commande git à distance vous permet de définir un serveur distant pour votre référentiel. Dans une situation de clonage, le référentiel source devient automatiquement la télécommande.

Par exemple:

$ pwd
/ Learngit / git_esntials / test
$ git Remote -v
Origin / Learngit / Git_essidentials / MyProject (Fetch)
Origin / Learngit / Git_essitentials / MyProject (push)

Ce qui précède montre que le serveur distant de «test» est un autre dossier appelé «myproject». La raison en est que le «test» a été cloné pour mon projet.

Mais le serveur distant n'a pas besoin d'être local. Vous pouvez avoir quelque chose comme ça avec une URL:

$ git Remote -v
origine https: // github.com / zakh / myproject (fetch)
origine https: // github.com / zakh / myproject (push)

Vous pouvez configurer un référentiel à distance GIT à l'aide de la commande git distant Add:

$ git distote ajouter d'origine https: // github.com / zakh / myproject

Cela connectera votre référentiel à l'origine afin que vous puissiez récupérer et pousser.

17. réinitialisation git

La réinitialisation GIT vous permet de débarrasser des fichiers ajoutés.

Disons que vous avez ajouté le test du fichier.txt 'à votre référentiel:

$ TOCK TEST.SMS
$ git add -a
$ statut git
Sur Branch Master
Votre branche est à jour avec «Origin / Master».
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Nouveau fichier: test.SMS

Cependant, vous décidez que vous ne voulez pas suivre le test.txt 'plus. Vous pouvez utiliser la commande git reset Head pour déclencher le fichier:

$ git réinitialiser le test de tête.SMS

Si vous vérifiez l'état, le fichier n'est à nouveau pas suivi:

$ statut git
Sur Branch Master
Votre branche est à jour avec «Origin / Master».
Fichiers non suivis:
(Utilisez 'git ajouter…' pour inclure dans ce qui sera engagé)
test.SMS

Le test du fichier '.txt 'n'est plus suivi.

18. Git REVERT

La commande GIT REVERT vous permet d'inverser les modifications en utilisant le numéro de hachage de validation.

$ echo 'test 1' >> myfile.SMS
$ git add -a
$ git commit -m 'Ajout de changement 1'
[Master 78A8277] Ajout du changement 1
2 fichiers modifiés, 1 insertion (+)
Créer le mode 100644 MyFile.SMS
Créer le test du mode 100644.SMS
$ Cat myfile.SMS
Test 1
$ echo 'test 2' >> myfile.SMS
$ git add -a
$ git commit -m 'ajouter un changement 2'
[Master A976E9C] Ajout du changement 2
1 fichier modifié, 1 insertion (+)
$ Cat myfile.SMS
Test 1
Test 2
$ Git Log --Oneline
A976E9C a ajouté le changement 2
78A8277 Ajout du changement 1
90DC546 a ajouté un fichier
E67F932 a ajouté de nouveaux fichiers
7E11910 Ajout de deux nouveaux fichiers
B31D4E1 Commit initial

Nous avons créé un 'myfile.txt 'et a commis deux modifications, donc le fichier a les lignes «Tester 1» et «Tester 2». Mais nous avons décidé que nous ne voulons pas du deuxième engagement. Nous avons donc trouvé le hachage de validation (A976E9C). Nous pouvons utiliser le REVERT GIT pour nous débarrasser de l'engagement:

$ git retourne a976e9c
[Master 4F270E7] REVERT "Ajout de changement 2"
1 fichier modifié, 1 suppression (-)
$ Git Log --Oneline
4F270E7 REVERT 'Ajout de changement 2'
A976E9C a ajouté le changement 2
78A8277 Ajout du changement 1
90DC546 a ajouté un fichier
E67F932 a ajouté de nouveaux fichiers
7E11910 Ajout de deux nouveaux fichiers
B31D4E1 Commit initial
$ Cat myfile.SMS
Test 1

Nous voyons qu'il y a eu un nouveau hachage de validation créé qui a remonté la ligne «Test 2». Le fichier n'a que la ligne «Test 1» maintenant.

19. Git RM

La commande GIT RM met en place des fichiers pour les suppressions futures. Il met les fichiers à supprimer dans la zone de mise en scène.

$ git rm test.SMS
Test RM '.SMS'
$ statut git
Sur Branch Master
Votre succursale est en avance sur «Origin / Master» par 3 commits.
(Utilisez «Git Push» pour publier vos commits locaux)
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
supprimé: tester.SMS

Vous devez commettre les modifications à la suppression pour prendre effet.

20. cachette git

La commande Git Stash vous permet d'abandonner temporairement le travail que vous n'êtes pas encore prêt à vous engager.
Supposons que vous travaillez dans un référentiel avec les fichiers suivants:

$ ls
John.Txt Mary.SMS
Vous souhaitez modifier ces fichiers pour être plus basé sur des projets. Alors vous commencez par:
$ git mv John.txt projectFile1.SMS
$ ls
Marie.txt projectFile1.SMS
$ statut git
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Renommé: John.txt -> projectFile1.SMS

Au milieu du renommer et de la mise à jour de «John.txt 'à' projectFile1.txt ', vous recevez une demande de modification de quelque chose dans le projet. Mais vous n'êtes pas prêt à soumettre `` ProjectFile1.SMS'. Alors tu le cachette.

$ git cachette

Répertoire de travail enregistré et index WIP sur Master: F0B5A01 Init John and Mary

La tête est maintenant à F0B5A01 INIT John et Mary

$ ls
John.Txt Mary.SMS

Votre environnement de travail local est de retour là où vous étiez avant d'apporter vos modifications basées sur des projets. Après, assistez à l'interruption, au lieu de retourner à 'John.txt ', vous décidez de travailler sur le' Mary.Fichier txt 'maintenant:

$ git mv Mary.txt projectFile2.SMS
$ statut git
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Renommé: Mary.txt -> projectFile2.SMS
$ ls
John.txt projectFile2.SMS

Vous êtes à nouveau interrompu et vous cachez votre nouveau travail sur 'Mary.SMS':

$ git cachette
Répertoire de travail enregistré et index WIP sur Master: F0B5A01 Init John and Mary
La tête est maintenant à F0B5A01 INIT John et Mary
$ ls
John.Txt Mary.SMS

Une fois les travaux d'interruption terminés, vous vérifiez la liste des cachettes:

$ git cachette
Stash @ 0: WIP sur Master: F0B5A01 Init John and Mary
Stash @ 1: WIP sur Master: F0B5A01 Init John and Mary

Vous avez deux travaux en cours (WIP) dans la cachette. Tirs tirs vous éclatez la cachette, vous obtenez le dernier "Mary.Txt 'Modifications:

$ git stash pop
Retirer Mary.SMS
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Nouveau fichier: ProjectFile2.SMS
Modifications non mises en scène pour engager:
(Utilisez 'git add / rm…' pour mettre à jour ce qui sera engagé)
(Utilisez 'Git Checkout -…' Pour éliminer les modifications dans le répertoire de travail)
Supprimé: Mary.SMS
Réfs / cachettes abandonnées @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

La deuxième fois que vous faites écarter, vous obtenez le 'John.Modifications liées au txt:

$ git stash pop
Retirer John.SMS
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Nouveau fichier: ProjectFile1.SMS
Nouveau fichier: ProjectFile2.SMS
Modifications non mises en scène pour engager:
(Utilisez 'git add / rm…' pour mettre à jour ce qui sera engagé)
(Utilisez 'Git Checkout -…' Pour éliminer les modifications dans le répertoire de travail)
Supprimé: John.SMS
Supprimé: Mary.SMS
Réfs / cachettes supprimées @ 0 (1E1968854FB5CA4D609E577822DC3280DBF928F6)
$ ls
ProjectFile1.txt projectFile2.SMS

Et vous avez votre travail en cours 'ProjectFile1.txt 'et' projectFile2.txt 'arrière.

Ainsi, la commande Git Stash vous aide à ranger votre travail afin que vous puissiez y revenir plus tard.

21. statut git

La commande Git Status affiche la différence entre les fichiers actuels et la tête de la tête.

Voici un exemple:

$ statut git
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Renommé: fichier2.txt -> file3.SMS
Modifications non mises en scène pour engager:
(Utilisez 'git ajouter…' pour mettre à jour ce qui sera engagé)
(Utilisez 'Git Checkout -…' Pour éliminer les modifications dans le répertoire de travail)
Modifié: fichier1.SMS

Il montre que 'file2.txt 'est renommé «fichier3.txt 'qui est prêt pour la validation, mais les modifications dans' File1.txt 'n'est pas encore dans la zone de mise en scène.

Donc, nous ajoutons tout:

$ git add -a

Maintenant, lorsque nous vérifions l'état:

$ statut git
Sur Branch Master
Modifications à engager:
(Utilisez 'git réinitialiser la tête…' pour unstager)
Modifié: fichier1.SMS
Renommé: fichier2.txt -> file3.SMS

Nous voyons que tous les changements sont prêts à commettre.

22. tag git

La commande git tag vous aide à créer des balises pour vos points historiques importants. Il est généralement utilisé pour configurer les numéros de version.

La commande git tag vous affichera les balises disponibles actuelles:

$ git tag
v1.0
v2.0

Vous pouvez taguer avec le format de commande git balise:

$ git tag v3.0

Afin de voir ce qu'il y a dans la balise, vous pouvez utiliser la commande git show:

$ git show v1.0
Commit 61E9E8AA1B98B2A657303E6822B291D2374314B5
Auteur: Zak H
Date: jeu 22 novembre 01:06:42 2018 -0800
S'engager d'abord
Diff --git A / 1.txt b / 1.SMS
Nouveau mode de fichier 100644
Index 0000000… E69DE29

Vous pouvez également étiqueter à l'aide d'un hachage de validation et du format de commande git balise:

$ Git Log --Oneline
Fichier modifié 374EFE9
A621765 Ajouter
6D6ED84 Deuxième engagement
61E9E8A First Commit
$ git tag v4.0 A621765
$ git show v4.0
Commissez A6217650A2C7B2531ECB9C173BA94BD4B3BA7ABD
Auteur: Zak H
Date: jeu 22 novembre 01:15:55 2018 -0800
Ajouter
Diff --git A / 1.txt b / 1.SMS
Index E69DE29… 587BE6B 100644
--- a / 1.SMS
+++ b / 1.SMS
@@ -0,0 +1 @@

En conclusion

Pour n'importe quelle commande, vous pouvez utiliser Git -h pour obtenir plus d'informations.

Une étude plus approfondie

  • https: // git-scm.com / docs