"Git through time and space" pour créer une bibliothèque de versions et des opérations de commande courantes

Git est un système de contrôle de version distribué open source qui peut gérer efficacement et rapidement la gestion des versions pour les petits et très grands projets. La puissante gestion des succursales de Git dépasse de loin SVN. Comment git crée-t-il un référentiel? Comment effectuer certaines opérations courantes? Pour la réponse, veuillez consulter la répartition ci-dessous.
Insérez la description de l'image ici
Quand j'étais jeune, j'ai regardé une pièce très impressionnante intitulée "Love Through Time and Space". Aujourd'hui, j'étais aussi insolente et j'ai réalisé un "Git Through Time and Space".

qu'est-ce qu'un référentiel? Peu importe la fréquence à laquelle nous utilisons git, mais les amis de l'industrie informatique doivent souvent entendre quelqu'un dire quel projet de quel bétail X se trouve dans quel entrepôt et quel entrepôt du projet a été malicieusement ajouté au problème (j'en ai entendu parler auparavant). L'entrepôt de code prévu par Apollo est occupé par de nombreux commentaires chinois non liés ~ Hé, nos ingénieurs de test ne doivent pas faire cela et faire de notre mieux pour cette industrie);

Après avoir dit tant de bêtises, en fait, l'entrepôt dont nous parlons habituellement est le référentiel. Le référentiel est également appelé référentiel, et le nom anglais est référentiel. Je pense que de nombreux amis qui utilisent GitHub voient souvent ce mot;

Je vais simplement le comprendre comme un dossier de répertoire, où vous pouvez mettre divers fichiers, et vous pouvez le supprimer et le modifier comme d'habitude. Cependant, le "dossier" de Git est plus puissant, il a une bonne mémoire-Git peut " Rappelez-vous "l'histoire de l'ensemble de la gestion, mais aussi" archive ".

Remarque: Tous les systèmes de contrôle de version peuvent uniquement suivre les modifications des fichiers texte, tels que les fichiers TXT, les pages Web, tous les codes de programme, etc., et Git ne fait pas exception.

La création d'un référentiel est très simple:

1) Choisissez un chemin (vous aimez juste ok!) Pour créer un répertoire vide
Insérez la description de l'image ici
2) L'adresse de l'entrepôt est créée, c'est maintenant un dossier normal, puis utilisez la commande git init pour le transformer en un "dossier Git", qui est Transformez ce répertoire en un référentiel
Insérez la description de l'image ici
que Git peut gérer. Il vous demandera qu'un référentiel Git vide a été créé dans votre répertoire, et il y a un .git supplémentaire dans le répertoire, pour le moment, même si la création est terminée.
Insérez la description de l'image ici
2.1 Soumettre des documents

Avant d'examiner les commandes, utilisons une image pour comprendre plusieurs concepts, ce qui peut faciliter la compréhension et la mémoire:

Répertoire de travail (répertoire de travail)
entrepôt temporaire (zone de transit, zone de transit)
Entrepôt Git (référentiel)
Insérez la description de l'image ici
nous sommes d'abord dans la zone de travail pour modifier les fichiers; puis ajouter à l'entrepôt temporaire, vous pouvez ajouter plusieurs; enfin soumettre ensemble pour soumettre Dans l'entrepôt.
Entrer ensuite formellement en opération pratique:

1) Sous le chemin de mygit, créez le fichier readme.txt et entrez ce qui suit:

Je veux étudier Git

Insérez la description de l'image ici
2) Utilisez la commande git add pour soumettre le fichier à l'entrepôt temporaire (aucun message ne sera émis si l'opération réussit, ne paniquez pas si vous ne voyez pas la sortie ~)
Insérez la description de l'image ici
3) Utilisez ensuite la commande git commit pour soumettre le fichier de la zone de stockage temporaire à l'entrepôt.
Insérez la description de l'image ici
Explication de la commande:
Insérez la description de l'image ici
2.2 Trouvez la différence (diff)

1) Nous utilisons d'abord git status pour voir le statut de l'entrepôt en cours.
Insérez la description de l'image ici
Cela signifie maintenant qu'il n'y a rien à valider sur une branche principale et que le répertoire de travail est actuellement propre.

2) Modifiez le fichier readme.txt:
Insérez la description de l'image ici
3) Utilisez ensuite git status pour afficher À
Insérez la description de l'image ici
ce moment, vous pouvez voir que le fichier a été modifié, mais qu'il n'a pas été ajouté et validé;

4) Ensuite, utilisez la commande git diff (différente) pour voir quelle est la différence entre l'opération en cours et l'opération précédente, et où a été modifié:
Insérez la description de l'image ici
vous pouvez voir que j'ai beaucoup ajouté dans la deuxième ligne

2.3 Retour vers le passé (retour en arrière)

1) Nous soumettons d'abord le fichier modifié à l'entrepôt:
Insérez la description de l'image ici
2) Nous utilisons ensuite la commande git log pour voir ce que nous avons fait auparavant:
Insérez la description de l'image ici
après la commande git log, nous pouvons voir l'historique du commit commit précédent, chaque Chaque soumission se voit attribuer un identifiant de validation unique. Cet identifiant est la clé de notre retour dans le passé, qui est tout à fait la même chose qu'une certaine période dans le film de science-fiction.

3.1) HEAD-Maintenant, si je veux revenir à la "période" d'étude git, je peux utiliser git reset --hard HEAD ^ A
Insérez la description de l'image ici
ce moment, nous pouvons voir que je suis retourné avec succès à la "période" d'étude git, beaucoup Il disparaît.
Explication de la commande:
Si vous ne le compreniez pas dans le passé, il peut également être compris comme une archive. Quand j'étais enfant, j'aime jouer à un jeu informatique appelé Red Alert. Lorsque je joue une
bataille de tâches, il sera archivé avant chaque niveau, ce qui est pratique. Après "mort", vous pouvez revenir au niveau désigné et revenir pour
représenter la dernière archive. ^ Représente la dernière archive. Si vous souhaitez refléter jusqu'à 100 versions, vous pouvez utiliser HEAD ~ 100 directement pour revenir au passé
3.2) commit id-now Ensuite, modifiez le fichier, ajoutez Je peux voler dans la première ligne, puis ajoutez, validez:

Insérez la description de l'image ici
git log Afficher le journal de validation des modifications.
Insérez la description de l'image ici
Il indique que vous pouvez utiliser l'ID de validation pour revenir au passé. Maintenant, essayons-le; utilisez la commande git reset --hard 64f5ce ...: à
Insérez la description de l'image ici
partir des résultats ci-dessus, nous pouvons voir que nous avons réussi à retourner via l'ID de validation Dans le passé, je suis retourné à l'époque où il n'y avait pas de "je peux voler"; une chose que je peux remarquer est que lorsque j'ai écrit l'ID de validation, je n'ai pas tout écrit, j'ai simplement écrit la partie précédente, et git peut le trouver;

Montant. . . Certes, quelqu'un doit demander combien sont spécifiques, pour être honnête ~ Je ne connais pas 0,0, ni l'ai-je spécifiquement étudié, les quatre ou cinq premiers? Six ou sept? Sept ou huit? Répondez simplement aux exigences d'utilisation, vous pouvez garantir l'identifiant unique, il suffit d'en copier quelques autres. . .

3.3) Retour à l'ère avant l'ajout uniquement, le fichier d'ajout est arrivé dans la zone de stockage temporaire, et il n'y avait pas de validation; il semblait qu'il était entré dans un autre espace d'ajout, et il ne pourrait plus être trouvé à l'avenir, donc il voulait revenir à la "période" d'origine Vous pouvez utiliser git reset HEAD pour déposer le fichier

Maintenant, le contenu de mon fichier readme.txt est le suivant, et il a été ajouté à la zone de stockage temporaire:
Insérez la description de l'image ici
utilisez la commande git reset HEAD readme.txt pour annuler la modification depuis add
Insérez la description de l'image ici
3.4) À ce stade, il y a une autre question, je viens de lire read..txt depuis add La zone de stockage temporaire a été révoquée et le fichier n'a pas changé; pour révoquer le fichier, vous devez utiliser la commande git checkout -
Insérez la description de l'image ici
supplément: un fichier a été soumis au référentiel, parfois nous sommes dans la zone de travail Supprimé un fichier par erreur (rm ou manuel), ce fichier existe toujours dans le référentiel à ce moment, vous pouvez utiliser la commande git checkout-pour "récupérer";

Si vous voulez vraiment supprimer des fichiers du référentiel, vous devez utiliser les commandes git rm et git commit

2.4 Retour vers le futur

1) Oui, dans les films qui sont généralement traversés, vous trouverez toujours un moyen de revenir vers le futur. Git ne fait pas exception. En plus de revenir au passé (version retour), vous pouvez aussi revenir au futur (retour à la nouvelle version)

Ici, nous devons encore le faire à l'aide de commit id, mais nous ne pouvons pas voir les coordonnées de positionnement à l'avenir en utilisant git log après avoir reculé (commit id):
Insérez la description de l'image ici
2) À ce stade, nous utiliserons la commande git reflog, enregistrez votre précédent
Insérez la description de l'image ici
Ma façon de marcher: je peux voir l'id de commit du précédent je peux voler; ici, au fait, il est dit que l'id de commit n'a pas besoin de tout écrire, d'écrire la partie précédente, mais je ne sais pas combien à écrire, voir git ici Le journal n'enregistre que les sept premiers, alors comptons simplement les sept. . .

Avec l'ID de validation, vous obtenez les informations de coordonnées et la méthode pour revenir dans le futur, et le film est presque terminé, cet article est sur le point de se terminer, voici la fin:
Insérez la description de l'image ici
(l'article vient de Poudlard Test Academy)

10 articles originaux publiés · Likes0 · Visites10

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46635091/article/details/105432781
conseillé
Classement