Comment restaurer Git au Guide de l'état précédent pour restaurer, réinitialiser, revenir et reprendre

Comment restaurer Git au Guide de l'état précédent pour restaurer, réinitialiser, revenir et reprendre
Si vous avez une formation en développement, vous devez être conscient de nombreux outils de développement. Lorsque vous développez individuellement un projet via n'importe quel langage de programmation, vous êtes à l'aise avec une interface de ligne de commande (terminal) ou des outils GUI.

Mais que se passe-t-il si vous travaillez avec les membres de l'équipe, il est difficile d'envoyer des morceaux de programmes à tous les membres de l'équipe individuellement. Il existe également une limite de taille des fichiers sur différentes plates-formes qui ne permettent pas à l'utilisateur d'envoyer plus que la taille décrite.

Il est difficile de collaborer lorsque le projet est trop grand et a besoin de modifications tout le temps. Pour cela, vous avez besoin d'un système de contrôle de version distribué qui vous aide à collaborer avec les membres de l'équipe dans le monde entier. Il est bon d'utiliser un système de contrôle de version distribué pour les petits et grands projets logiciels. Chacun des membres de l'équipe aura un accès complet au référentiel complet sur le système local, et ils peuvent travailler hors ligne.

Un tel logiciel polyvalent est Git, et un référentiel de gatts de git est connu sous le nom Github, où vous pouvez enregistrer vos projets, et il est accessible par n'importe quel membre de l'équipe.

Avant de commencer le Git Introduction, vous devez connaître le Système de contrôle de version (VCS), comme Git est l'un des systèmes de contrôle de version distribués. Vous devez avoir une idée de VCS, surtout si vous avez un fond de développement logiciel.

Système de contrôle de version (VCS)

Tout en faisant le travail d'équipe, le système de contrôle de version aide à conserver un enregistrement de modifications, de fonctionnalités et de pistes dans les projets. Grâce à cela, une équipe peut travailler par coopération et également séparer ses morceaux de tâche à travers les branches. Le nombre de branches sur les VC dépend du nombre de collaborateurs et peut être maintenu individuellement.

Comme ce système de gestion de processus enregistre tous les antécédents des changements dans le référentiel, si un membre de l'équipe a commis des erreurs, il peut le comparer avec les versions soutenues du travail et l'annuler. Cela aide à minimiser les erreurs car vous avez la possibilité de revenir à l'état précédent.

Les autres caractéristiques notables des VC sont:

  • Cela ne dépend pas d'autres systèmes de référentiel.
  • Vous pouvez créer un clone de référentiels afin qu'en cas d'échec ou de crash, vous ne perdez pas tout le projet.
  • Pour tous les fichiers et documents, l'historique est disponible avec le temps et la date.
  • Il existe un système de balises dans VCS qui aide à afficher la différence entre tous les types de documents différents.

Types de système de contrôle de version

Le VCS est divisé en trois types:

  1. Système de contrôle de version locale (VCS)
  2. Système de contrôle de version centralisé (CVC)
  3. Système de contrôle de version distribué (DVC)

Système de contrôle de version locale

Dans le système de contrôle de version local, les fichiers Track sont maintenus dans le système local; C'est simple, mais les chances d'échec des fichiers sont élevées.

Système de contrôle de version centralisé

Dans le système de contrôle de version centralisé, le serveur centralisé garde une trace de tous les fichiers; Il a un historique complet de toutes les versions de fichiers et des informations clients s'ils vérifient les fichiers du serveur. C'est comme un système client-serveur où n'importe qui peut partager le serveur et également accéder au travail de chacun.

Système de contrôle de version distribué

Le dernier est le système de contrôle de version distribué qui vient de contrôler les inconvénients des VC centralisés. Dans ce type, le client peut créer un clone d'un référentiel complet qui inclut l'historique et les fichiers Track. Le serveur revient en cas d'échec en utilisant la copie du référentiel du client en tant que clone est considéré comme une sauvegarde complète des données. Projets open source comme Git etc., Utilisez un tel type de système de contrôle de version.

Qu'est-ce que Git?

Git est l'un des logiciels système de contrôle de version distribuée (VCS) qui conserve toute la trace des données. Le but derrière le développement du Git Le logiciel consiste à fournir une plate-forme de collaboration où tous les développeurs peuvent partager leur code source pendant le développement du projet. Autres caractéristiques importantes de Git sont; Il fournit une plate-forme open source avec des performances à grande vitesse, est compatible, légèrement pondéré, fiable, sécurisé, assure l'intégrité des données, gère des milliers de branches exécutées sur différents systèmes, etc.

En 2005, Linus Torvalds a décidé de créer un nouveau système de contrôle de version pour répondre aux besoins de la communauté et maintenir le système du noyau Linux. À l'aide d'autres développeurs Linux, la structure initiale de Git a été développé, et Junio ​​Hamano était le mainteneur principal depuis 2005. Linus Torvalds a été hors ligne, a présenté le système révolutionnaire et l'a nommé Git. Et maintenant, un grand nombre de sociétés multinationales, telles que Google, Firefox, Microsoft et Startups, utilisent Git pour leurs projets logiciels. Il est difficile d'identifier Git En tant que système de contrôle de version (VCS), Système de gestion des codes source (SCM), ou système de contrôle de révision (RCS) Comme il est développé avec la fonctionnalité du trio.

Git Workflow

Lorsqu'un projet GIT est démarré, il se divise en trois segments:

  1. Répertoire git
  2. Arbre de travail
  3. Zone de transit

Le Git Annuaire concerne tous les fichiers, y compris les modifications de l'historique. Le Arbre de travail Le segment détient l'état actuel du projet et tous les changements. Et le Zone de transit raconte le Git Quelles modifications possibles dans le fichier pourraient se produire dans le prochain engagement.

Il y a deux possibilités d'état de fichier présent dans un répertoire de travail:

  1. Non suivi
  2. Suivi

Soit un fichier ne sera pas suivi, soit il se trouvera dans un état suivi.

Explorons ces deux:

État non suivi

Les fichiers qui ne sont pas ajoutés mais présents dans le répertoire de travail seront dans un état non suivi; Git ne les surveille pas.

État suivi

Les fichiers suivis sont les fichiers qui étaient présents dans le dernier instantané, et Git a une idée à leur sujet.

Chacun des fichiers suivis peut résider dans l'un des sous-états mentionnés:

  1. Engagé
  2. Modifié
  3. Mise en scène

Engagé

Cet état du fichier signifie que toutes les données de fichier sont stockées dans la base de données locale en toute sécurité.

Modifié

Un fichier modifie son état par rapport Engagé pour Modifié Lorsque des modifications ont été apportées dans le fichier. Il pourrait y avoir n'importe quel type de modifications comme la suppression du contenu, la mise à jour ou l'ajout de quoi que ce soit. Simplement, cet état signifie que des changements qui n'ont pas encore été engagés se produisent maintenant.

Mise en scène

L'état mis en scène comprenait deux types de fichiers: fichiers modifiés ou fichiers non suivis (fichiers nouvellement créés). Lorsque toutes les modifications d'un fichier sont terminées, il est transféré à l'état mis en scène.

Comment installer Git sur Ubuntu

Vous n'avez pas besoin de la permission sudo pour installer Git sur Ubuntu; il peut être téléchargé avec ou sans user de racine.

Pour vérifier si Git est déjà installé sur votre appareil ou non, exécutez la commande donnée:

$ git --version

S'il est présent sur votre système, vous obtiendrez un Git version. Car il n'est pas présent dans mon système; Pour installer, exécutez la commande donnée:

$ sudo apt install git

Maintenant, exécutez à nouveau la commande de version pour vérifier si elle est installée avec succès:

$ git --version

Configuration de Git

Après le processus d'installation, l'étape suivante consiste à configurer le Git configurer pour que vous puissiez commencer par le Git logiciel.

Pour la configuration, vous devez saisir votre nom et votre adresse e-mail via «configuration git" commande.

Tout d'abord, vous devez saisir votre nom d'utilisateur pour définir le système GIT; Tapez la commande mentionnée pour ceci:

$ git config - utilisateur de globe.Nom "Wardah"

Maintenant, définissez l'adresse e-mail via la commande suivante:

$ git config - utilisateur de globe.Email "wardahbatool20 @ gmail.com "

Lorsque vous définissez des informations d'identification pour le Git Application, il sera stocké dans le fichier de configuration GIT "./ gitconfig ”; Vous pouvez modifier des informations en utilisant n'importe quel éditeur de texte comme Nano, etc.

La commande utilisée à cet effet est:

$ nano ~ /.gitconfig

Si vous souhaitez modifier des informations comme le nom ou le courrier électronique, faites-le dans l'éditeur et appuyez sur «Ctrl + x»Et puis appuyez sur "O / Y"; il sauvera les modifications de l'éditeur et sortira.

Guide complet pour restaurer, réinitialiser, retourner et reprendre

Lorsque vous travaillez avec l'application GIT, vous faites face à des défis où vous devez revenir à l'un des commits précédents. C'est l'un des aspects GIT les moins connus, car beaucoup d'entre nous ne savent pas à quel point il est facile de revenir au dernier état de la validation.

Il est assez facile de annuler des changements significatifs dans le référentiel si vous connaissez la différence entre les termes "Restaurer","Revenir","Réinitialiser", et "Reproduire". Pour remplir la fonction requise (à l'état précédent), vous devez connaître leurs différences.

Cet article couvrira quatre aspects principaux de Git:

  1. Restauration GIT
  2. Réinitialisation git
  3. Git REVERT
  4. Git Rebase

Expliquons-les tous séparément afin que vous puissiez mieux comprendre:

Restauration GIT

L'opération de restauration GIT aide à restaurer les contenus de l'indice de stadification ou de tout engagement dans le répertoire de travail. Il ne metra pas à jour la succursale mais modifie l'historique des engagements tout en restaurant les fichiers à partir d'autres commits. Il a spécifié les chemins de l'arbre en activité; Ces chemins aident à trouver le contenu lors de la restauration.

La restauration utilise certaines commandes pour récupérer le contenu, si vous trouvez le «mise en scène«Commande, cela signifie que les fichiers sont restaurés à partir du Diriger ou indice; Pour restaurer les fichiers à partir d'autres commits, utilisez le «-source«Commande, et si vous souhaitez restaurer à la fois« arbre de travail »et index, vous pouvez le faire via«-mise en scène" et "-worktree»Commandes.

Pour restaurer les modifications récemment apportées à la syntaxe mentionnée ci-dessous:

Git Restore [nom de fichier]

Par exemple, vous avez ajouté un fichier du nom de «My_git.SMS" Utilisation de la commande mentionnée ci-dessous:

$ git ajouter my_git.SMS

Pour vérifier si le fichier existe ou non, la commande donnée serait utilisée:

$ statut git

Maintenant, supprimons ce fichier en utilisant:

$ rm -f my_git.SMS

Vérifiez à nouveau le statut:

$ statut git

Comme on peut le voir que le fichier a été supprimé. Maintenant, pour le restaurer, utilisez:

$ git restaurer my_git.SMS

Vérifiez à nouveau l'état:

$ statut git

Le fichier a été restauré. Le "mise en scène" Le drapeau est utilisé pour restaurer un fichier particulier à partir du GIT précédemment ajouté, pour ce faire, suivez la syntaxe donnée:

Git Restore --Staged [nom de fichier]

Pour restaurer plusieurs fichiers à partir de la zone de stadification, vous devez utiliser des caractères génériques avec le nom de fichier; comme:

git restore --staged * [nom de fichier]

Pour restaurer les modifications locales non engagées, la même syntaxe serait suivie comme nous l'avons fait ci-dessus, mais éliminez le «-mise en scène»Flag de la commande.

N'oubliez pas que ces modifications ne peuvent pas être annulées.

Git Restore [nom de fichier]

Dans le répertoire de travail actuel, tous les fichiers actuels peuvent être restaurés via la syntaxe suivante:

Restauration GIT .

Réinitialisation git

Vous pouvez considérer Réinitialisation git En tant que fonctionnalité de retour en arrière car elle est utilisée pour annuler les modifications. Lorsque vous utilisez la fonction de réinitialisation GIT, il renverra votre environnement actuel à l'engagement précédent. Cet environnement de travail pourrait être n'importe quel état comme un répertoire de travail, une zone de mise en scène ou un entrepôt local.

Nous avons expliqué le Zone de transit et Directeur de travail; Dans la fonction de réinitialisation, le Diriger est un pointeur vers une nouvelle branche ou une branche actuelle. Chaque fois que vous passez de la précédente, il fait référence à la nouvelle branche. C'est une référence de la branche précédente vers plus loin, il peut donc être considéré comme une action parentale.

Pour exécuter la commande git réinitialisation, vous vous proposez trois modes différents de Git; Doux, Mixte, et Dur. Lorsque vous exécutez la commande git reset, il utilisera mixte Mode par défaut.

Si nous passons au Git réinitialise dur, Il pointe la tête vers le commit spécifié et supprime tous les commits après la validation particulière. Lorsque vous utilisez la commande Hard Reset, elle met à jour le répertoire de travail ainsi que la zone de mise en scène et modifie l'historique des engagements. Le Git réinitialisé doux réinitialise les conseils de référence et les met à jour; Quand nous passons -doux Argument, il ne touche pas le répertoire de travail et la zone de mise en scène et réinitialise l'histoire de la validation. Le Git réinitialisé mélangé est le mode par défaut de Git; Lorsque vous l'exécutez, les pointeurs de référence sont mis à jour, et il envoie les modifications annulées de l'index de mise en scène au répertoire de travail pour les compléter.

Pour réinitialiser (annuler) toutes les modifications que vous avez effectuées dans le dernier engagement, la commande suivante serait utilisée:

$ git réinitialisation - tête dur

Il rejetera toutes les modifications qui se produisent dans le dernier engagement. Et pour deux commits avant "DIRIGER":

$ git réinitialisation - Tête dure ~ 2

La commande ci-dessus est à peine utilisée car tout, y compris l'historique des engagements, sera mis à jour vers un engagement spécifique. De plus, l'index de mise en scène et le répertoire de travail seront également réinitialisés à cet engagement spécifique. Vous pouvez perdre des données cruciales en attente de l'index de mise en scène et du répertoire de travail. Pour éviter cela, utilisez «-soft» à la place du dur.

$ git réinitialisation - tête douce

La commande ci-dessus ne modifiera pas le répertoire de travail et l'index de mise en scène. Utilisons l'option «Réinitialiser» pour déclencher un fichier:

Tout d'abord, créez un fichier et ajoutez-le à n'importe quelle branche en utilisant:

$ git ajouter l'index.html

La commande ci-dessus ajoute un "indice.html ” fichier à la branche maîtresse. Pour vérifier l'état:

$ statut git

Pour déconcerter le fichier "indice.html ”, utiliser:

$ index de réinitialisation git.html

Git REVERT

Git REVERT L'opération est assez similaire à la Réinitialisation git commande; La seule différence est que vous avez besoin d'un nouvel engagement pour revenir à l'engagement spécifique lors de l'exécution de cette opération. La commande REVERT est utilisée pour annuler les modifications qui se produisent après l'exécution de la commande de réinitialisation. Pour cela, il ne supprimera aucune donnée; Ajoutez simplement un nouveau commit à la fin qui annulera la modification du référentiel.

Pour revenir dans le commit, mentionnez le hachage avec l'option REVERT:

git revert [commit_ref]

La commande GIT REVERT a besoin d'une référence qui signifie que la commande ne fonctionnera pas. Utilisons "DIRIGER" En tant que référence de validation.

$ git reverse tête

La commande mentionnée ci-dessus reviendra le dernier engagement.

Git Rebase

Le Git Rebase est utilisé pour fusionner ou combiner la séquence des engins sur la nouvelle base. C'est le processus d'intégration des changements et les transfère d'une branche à une autre (une base à une autre). C'est une alternative au «fusionner»Commande mais en quelque sorte différente de celle-ci, et donc cela pourrait nous confondre parce que les deux sont similaires. Le "fusionner«La commande est utilisée pour combiner les engagements de l'histoire et maintenir le dossier tel qu'il s'est produit, tandis que Rebase Commandes réécrivez ou réappliquez l'histoire des engagements au sommet d'une autre branche.

Voyons le concept d'option Rebase à travers un exemple:

Dans l'histoire ci-dessus, "caractéristiques"Est une branche avec"B"Comme sa base. Utilisez la commande suivante pour fusionner le "caractéristiques" Branche après le commit final:

Git Rebase [commit_ref]

La référence de la validation pourrait être quelque chose comme une branche, une carte d'identité ou une balise. Par exemple, pour réprimander le "caractéristiques" se ramifier au maître, qui est "D", Utilisez la commande mentionnée ci-dessous:

$ git cachate caractéristiques $ git repase maître

Lorsque vous exécutez cette commande, le "caractéristiques" La succursale sera annexée au maître, qui est une nouvelle base:

Conclusion

Dans la gestion de la configuration logicielle, Contrôle de version est un élément crucial pour gérer les changements dans la documentation, les programmes ou les projets logiciels. Ces changements sont identifiés numériquement et intitulés «révision". Supposons que la première version est définie comme «Revision 1». Lorsqu'un membre de l'équipe modifie le projet, il l'économisera en tant que «révision 2» avec l'horodatage et la personne concernée qui a apporté des modifications.

Le système de contrôle de version est divisé en trois catégories VC locales, des VC centralisés et des VC distribués. L'un des exemples de VC distribués est Git, logiciel open source qui aide à gérer tous les enregistrements d'un projet de développement. Il fournit une plate-forme de collaboration pondérée en ligne avec des performances élevées et gère plusieurs branches en cours d'exécution sur différents systèmes.

Chaque fois que vous commencez par un projet sur le système GIT, le flux de travail GIT aide à le gérer efficacement et cohérente; Il est divisé en trois segments: Git Annuaire, Arbre de travail, et Zone de transit.

Le projet sur lequel vous travaillez est soit dans un État non suivi ou suivi État. Le fichier non suivi est considéré comme un nouveau fichier qui ne faisait pas partie du répertoire de travail auparavant, tandis que les fichiers suivis font partie des derniers instantanés et catégorisés en plus Engagé, Modifié, et Mise en scène États.

UN engagé L'état signifie que les données des fichiers sont stockées dans une base de données locale; Chaque fois que vous apportez des modifications dans le fichier, il se transfère dans l'état modifié. Le Mise en scène L'état comprend des fichiers modifiés et des fichiers nouvellement créés; Lorsque toutes les modifications d'un fichier sont terminées, il est transféré à l'état mis en scène.

Cet article montre comment vous pouvez installer et configurer le système GIT sur Ubuntu 20.04.

Après cela, nous avons discuté de la façon de restaurer, de réprimander, de retourner et de réinitialiser les opérations GIT tout en réalisant un projet. Le Restauration GIT La fonction est utilisée pour restaurer le contenu de Commits dans le répertoire de travail. Chaque fois que vous effectuez une commande de restauration, cela modifiera l'historique des engagements et spécifiera les chemins.

Le Réinitialiser, ou nous pouvons dire que la fonction de recul aide à annuler les modifications Référentiel GIT et renverra l'environnement actuel à la validation précédente.

Git REVERT L'opération est assez similaire à la Réinitialisation git commande; La seule différence est que vous avez besoin d'un nouvel engagement pour revenir à l'engagement spécifique lors de l'exécution de cette opération.

Et le dernier est le Git Rebase qui est utilisé pour fusionner ou combiner la séquence de validations sur le référentiel. Il est différent de la commande de fusion comme «fusionner«La commande est utilisée pour combiner la validation de l'histoire et maintenir le dossier comme cela s'est produit, tandis que«reproduire»Les commandes réécrivent ou réappliquent l'histoire des engagements au sommet d'une autre branche.

L'article vous a montré comment vous pouvez effectuer ces opérations tout en utilisant le logiciel GIT sur Linux.