编程知识 cdmana.com

Tu marches toujours sur la fosse du gig?Promets - moi de ne pas être stupide.

Insérer la description de l'image ici

01.Qu'est - ce que GIT

Concept

Git(La prononciation est/g ɪt/)Est un système de contrôle de version distribué open source,Ça marche.、.Gestion rapide des versions de projets de très petite à très grande taille.C'est aussi Linus Torvalds Pour aider à gérer Linux Un logiciel de contrôle de version open source développé par le noyau.

Les outils de contrôle de version sont pratiques devops Philosophie,CI/CD Un lien dans,Est une technologie indispensable pour les ingénieurs d'essais automatisés.

github,gitee,gitlab La différence entre

GitHub Est une plate - forme d'hébergement pour les projets de logiciels libres et privés,Parce que seul Git Géré comme un format de bibliothèque de version unique,D'où son nom? GitHub.

Gitee C'est Open Source China(OSChina)Lancé sur la base Git Services d'hébergement de code pour,C'est domestique GitHub.

GitLab Est un projet Open source pour le système de gestion d'entrepôt de code,Utiliser Git En tant qu'outil de contrôle de code,Et sur cette base Web Services.

02.GITUtilisation de

Opérations locales

2.1 Installation

In Linux Installation supérieure

Si vous voulez Linux Utilisez l'installateur binaire pour installer le Git Outils,Vous pouvez utiliser les outils de gestion de paquets de base inclus dans la distribution pour installer.Par Fedora Par exemple, Si vous l'utilisez ,Vous pouvez utiliser dnf:

$ sudo dnf install git-all

Si vous êtes basé sur Debian Sur la distribution de,Par exemple: Ubuntu,Veuillez utiliser apt:

$ sudo apt install git-all

Pour en savoir plus sur les options ,Git Sur le site officiel Unix Étapes d'installation sur les systèmes de distribution ,Le site Web est https://git-scm.com/download/linux.

In macOS Installation supérieure

In Mac Installation supérieure Git Il y a plusieurs façons. La façon la plus simple est d'installer Xcode Command Line Tools.Mavericks (10.9) Ou plus tard,In Terminal J'ai essayé de courir pour la première fois Git Commande juste.

$ git --version

Si l'outil de développement en ligne de commande n'est pas installé,Vous serez invité à installer.

In Windows Installation supérieure

In Windows Installation supérieure Git Il existe également plusieurs méthodes d'installation . La version officielle est disponible à l'adresse suivante: Git Téléchargement du site officiel.Ouvre. https://git-scm.com/download/win, Le téléchargement commence automatiquement . Double - cliquez sur le fichier d'installation téléchargé , Suivez le programme de démarrage pour installer .

2.2 Configuration initiale

Installation terminée Git Après,La première chose à faire est de définir votre nom d'utilisateur et votre adresse e - mail.C'est important.,Parce que chaque Git Cette information sera utilisée pour les présentations , Ils sont écrits dans chaque soumission ,Non modifiable,Exécutez la commande suivante au terminal:

git config --global user.name "xinlan"
git config --global user.email "[email protected]"

Plus maintenant. --global Représente les paramètres globaux , Et ne doit être réglé qu'une seule fois .

2.3 Initialisation de l'entrepôt

Si vous avez un répertoire de projets qui n'ont pas encore été mis en version,Je veux l'utiliser. Git Pour le contrôler., Vous devez d'abord entrer dans le Répertoire du projet . Exécuter la commande après :

$ git init

Cette commande crée un .git Sous - répertoires pour, Ce sous - répertoire contient ce que vous avez initialisé Git Tous les documents requis dans l'entrepôt ,Ces documents sont Git L'épine dorsale de l'entrepôt . Ne le modifiez pas. .

2.4 Ajouter un fichier pour le suivi

L'opération ci - dessus, Nous avons simplement fait une initialisation , Les fichiers du projet n'ont pas été suivis .

Si vous êtes dans un dossier où un fichier existe déjà ( Au lieu d'un dossier vide ) Contrôle de version en cours , Il est temps de commencer à tracer ces fichiers. .Peut passer git add Commande pour spécifier les fichiers requis pour le traçage.

$ git add *.py
$ git add LICENSE

2.5 Soumettre les documents à l'entrepôt

Pour soumettre les documents suivis à l'étape précédente à l'entrepôt,Exécuter les commandes git commit.Ceci lance l'éditeur de texte pour entrer les instructions de soumission.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
#       new file:   LICENSE
#       new file:   test.py
#
~
~
~
~
~
~
~
~
~
~
<sers/men85/Desktop/study/.git/COMMIT_EDITMSG [unix] (21:15 13/09/2021)1,0-1 All
"C:/Users/men85/Desktop/study/.git/COMMIT_EDITMSG" [unix] 12L, 251C

On peut aussi commit Ajouter après la commande -m Options,Placer les informations de soumission sur la même ligne que la commande

git commit -m "init"

2.6 Git Trois états de

Git Il y a trois états, Votre fichier peut être dans l'un d'eux :Soumis(committed)、Modifié(modified) Et Mis en scène(staged).

Modifié indique que le fichier a été modifié, Mais pas encore sauvegardé dans la base de données .

Mise en scène indique que la version actuelle d'un fichier modifié est marquée,Inclure dans le prochain instantané soumis.

Soumis signifie que les données ont été sauvegardées en toute sécurité dans la base de données locale.

Ça va nous faire Git Le projet comporte trois phases:Espace de travail、 Les aires de rassemblement et Git Table des matières.

Photos

L'espace de travail est la racine du projet , C'est votre zone de travail. ,Est le contenu extrait indépendamment d'une version du projet.Ces Git Fichiers extraits de la base de données compressée de l'entrepôt, Sur le disque pour votre utilisation ou modification .

La zone de mise en scène est un fichier ,Enregistrer les informations de la liste des fichiers à soumettre la prochaine fois,En général Git Dans le catalogue de l'entrepôt.Selon Git Est appelé “Index”, Mais en général, c'est comme ça. “Zone de rassemblement”.

Git Le répertoire des entrepôts est Git L'endroit où les métadonnées et les bases de données d'objets du projet sont conservées.C'est Git La partie la plus importante, Lors du clonage d'un entrepôt à partir d'un autre ordinateur , C'est ici que les données sont copiées. .

Basic Git Le flux de travail est le suivant::

1、Modifier le fichier dans l'espace de travail.

2、Mettre en scène sélectivement les changements que vous souhaitez soumettre la prochaine fois,Ceci n'ajoute que la partie modifiée à la mise en scène.git add

3、Soumettre une mise à jour,Trouver le fichier de la zone de mise en scène,Stocker en permanence le Snapshot à Git Table des matières.git commit

2.7 Vérifier l'état actuel du fichier

Chaque fichier de votre répertoire de travail n'est pas différent de ces deux états:Suivi Ou Non suivi.Les fichiers suivis sont ceux qui sont inclus dans le contrôle de version,Ils ont été enregistrés dans le dernier instantané,Après un certain temps de travail, Leur statut peut être inchangé,Modifié ou mis en scène.Bref,Les fichiers suivis sont Git Fichiers déjà connus.

Après avoir édité certains fichiers,Comme vous les avez modifiés depuis votre dernière soumission,Git Marquer les fichiers modifiés.Au travail,Vous pouvez choisir de mettre ces fichiers modifiés dans la zone de mise en scène,Puis soumettre toutes les modifications mises en scène,Si souvent..

Photos

Ça marche git status Commande pour voir quels fichiers sont dans quel état. Si tous les fichiers ne sont pas modifiés , Et ont été soumis à la base de données locale , Espace de travail en temps opportun ,Zone de rassemblement,Git Cohérence de l'entrepôt , Vous verrez une sortie comme celle - ci :

$ git status
On branch master
nothing to commit, working tree clean

Maintenant, Créons un nouveau README Documentation.Si ce fichier n'existait pas auparavant,Utiliser git status Les ordres,Vous verrez un nouveau fichier non suivi:

$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README

nothing added to commit but untracked files present (use "git add" to track)

Maintenant, modifions un fichier qui a été suivi.Si vous modifiez un nom test.py Fichiers suivis pour,Et courir git status Les ordres,Vous verrez ce qui suit:

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test.py

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README

no changes added to commit (use "git add" and/or "git commit -a")

On s'entraîne. Git Flux de travail pour, Soumettre les documents ajoutés et modifiés à Git Entrepôt.

$ git add .
$ git commit -m "Exercice"
[master 2852e80]  Détails 
 2 files changed, 1 insertion(+)
 create mode 100644 README

Vous pouvez exécuter la commande lorsque vous voulez suivre tous les fichiers dans le répertoire git add .

2.8 Voir les dossiers de soumission

Plusieurs mises à jour ont été soumises,Vous voudrez peut - être revoir l'historique de la soumission.L'outil le plus simple et le plus efficace pour accomplir cette tâche est git log Les ordres. Par exemple, dans mon projet de didacticiels en classe git log Au moment de l'ordre,Vous pouvez voir la sortie suivante:

$ git log
commit 304b472cab3fcff5c220bf3e8e91a2e2fa642003 (HEAD -> master, origin/master)
Author: xinlan <[email protected]>
Date:   Thu Aug 26 14:05:00 2021 +0800

    Tous les jours

commit 65f23a537366f35bd99047438c40547278294028
Author: xinlan <[email protected]>
Date:   Fri Aug 6 21:18:35 2021 +0800

    haha

commit eca023381f42ce0428ab45c0a8b33621dd2cc6f8
Author: xinlan <[email protected]>
Date:   Sat May 29 19:19:24 2021 +0800

    py38 day43

Par défaut, aucun paramètre n'est passé,git log Toutes les soumissions sont énumérées dans l'ordre chronologique,Les dernières mises à jour sont en haut.git log La commande a beaucoup d'arguments , Utilisé pour rechercher et afficher .

Un des paramètres les plus utiles est --pretty.Ce paramètre peut afficher l'historique de soumission d'une manière différente du format par défaut.Cette option a quelques sous - Options intégrées pour vous.Par exemple, oneline Chaque soumission est affichée sur une ligne,Très utile pour parcourir un grand nombre de soumissions.En plus short,full Et fuller Options,Ils présentent l'information dans un format essentiellement uniforme,Mais le niveau de détail varie:

$ git log --pretty=oneline
304b472cab3fcff5c220bf3e8e91a2e2fa642003 (HEAD -> master, origin/master) Tous les jours
65f23a537366f35bd99047438c40547278294028 haha
eca023381f42ce0428ab45c0a8b33621dd2cc6f8 py38 day43
1b174b1486bae0554ff8a79acca55369387480f9 py41 day2
5ae08fa293a9a6bd7eddf8cb365e07cc221f0c07 py38day42
6fe8725de1151455f25e069ad80357edf5c4d6b0 'py38day41'
2effcc5dc6670a23cdbf4049321923b735ae3f16 add 41

03.Opérations à distance

3.1 Créer un entrepôt distant

Un entrepôt distant est une bibliothèque de versions de votre projet hébergée sur Internet ou sur un autre réseau.

Pour créer votre propre entrepôt distant ,La façon la plus simple est de gitee(Nuage de code),Ou GitHub Créer un entrepôt distant sur . Le nuage de code est recommandé ici , Chinois et rapide , Prenons par exemple le nuage de code .Code Cloud address https://gitee.com/, S'il vous plaît prendre soin de votre compte enregistré .

Après l'inscription et la connexion au Cloud , Cliquez sur le signe plus dans le coin supérieur droit , Sélectionner un nouvel entrepôt

Photos

Aller à la page nouvel entrepôt , Après avoir rempli les options nécessaires ,Cliquez sur créer

Photos

La page suivante apparaît après la création réussie de l'entrepôt, Contient l'adresse de l'entrepôt et quelques informations d'aide

Photos

3.2 Ajouter un entrepôt distant

Exécution git remote add Ajouter un nouveau distant Git Entrepôt,Spécifiez également un raccourci facile à utiliser.Exécution

$ git remote add origin [email protected]:wcflove/study.git

Cela ajoutera un entrepôt distant à l'entrepôt local actuel,L'adresse est [email protected]:wcflove/study.git, L'adresse de l'entrepôt distant est abrégée en origin( Tu peux prendre le nom que tu veux. ).

Exécution git remote -v Commande pour voir les informations de l'entrepôt distant ,Un entrepôt local peut avoir plusieurs entrepôts distants

$ git remote -v
gitee   [email protected]:wcflove/study.git (fetch)
gitee   [email protected]:wcflove/study.git (push)

3.3 Pousser à l'entrepôt distant

Par ordre git push Vous pouvez pousser votre projet local dans un entrepôt distant.Quand tu veux master Branches( On en reparlera plus tard. )Pousser vers origin Quand le serveur(Encore une fois,Habituellement, le clonage vous aide automatiquement à définir ces deux noms), Alors exécutez cette commande pour sauvegarder ce que vous avez fait sur le serveur:

$ git push origin master
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 481 bytes | 481.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.1]
To gitee.com:wcflove/study.git
 * [new branch]      master -> master

Attention!: Cette étape exige que vous validiez vos permissions , Si vous ajoutez un entrepôt distant ,Utilisé https Adresse du Protocole , Vous devez entrer votre nom d'utilisateur et votre mot de passe .Si vous utilisez ssh Adresse du Protocole,Alors il faut configurer ssh Clé publique pour( Voir le document d'aide du nuage de codes pour plus de détails. ).

Rafraîchir votre entrepôt distant après avoir poussé avec succès , Vous verrez le fichier que vous venez de pousser .

Photos

3.4 Retrait de l'entrepôt distant

Obtenir des données de l'entrepôt distant,Peut être exécuté:

$ git pull <remote>

Cette commande accède à l'entrepôt distant,Extraire toutes les données que vous n'avez pas encore, Et fusionne automatiquement la branche distante à la branche courante .

3.5 Cloner un entrepôt distant

Exécuter les commandes git clone Téléchargera l'entrepôt distant dans le répertoire courant .Par exemple:

git clone [email protected]:wcflove/study.git

Ceci est créé dans le répertoire courant study Dossiers, Et initialiser un .git Dossiers, Adresse automatique [email protected]:wcflove/study.git Ajouter comme entrepôt distant et par défaut à “origin” Abréviation, Configuration automatique locale master La branche suit les clones de l'entrepôt distant master Branches, Et retirer de l'entrepôt distant master Toutes les données sous la branche sont placées dans .git Dossiers,Lisez ensuite une copie de la dernière version du fichier.

04.Opérations de branchement

4.1 Introduction à la branche

Presque tous les systèmes de contrôle de version prennent en charge les branches d'une manière ou d'une autre.L'utilisation de la branche signifie que vous pouvez séparer votre travail de la ligne principale de développement,Pour éviter d'affecter la ligne principale de développement.

Pour vraiment comprendre Git Comment gérer les branches,Nous devons revoir Git Comment enregistrer les données.Git Enregistrer n'est pas un changement ou une différence de fichier,Mais une série de moments différents Snapshot .Lors de la soumission,Git Enregistrer un objet de soumission(commit object).L'objet commit contient un pointeur vers un instantané du contenu de l'étape, Contient également le nom et la boîte aux lettres de l'auteur 、Les informations saisies lors de la soumission et le pointeur vers son objet parent.L'objet commit résultant de la première commit n'a pas d'objet parent,L'objet de soumission résultant d'une opération de soumission normale a un parent, .Et l'objet de soumission résultant de la fusion de plusieurs branches a plus d'un parent.

Photos

Git La branche de,En fait, il s'agit essentiellement d'un pointeur variable vers l'objet soumis.Git Le nom de branche par défaut pour est master.Après plusieurs opérations de commit,Vous en avez déjà un qui pointe vers le dernier objet de soumission master Branches. master La branche avance automatiquement à chaque soumission.

Photos

4.2 Créer une branche

Créer une branche est très simple ,Il crée juste un nouveau pointeur qui peut être déplacé.Par exemple,,Créer un testing Branches, Vous devez utiliser git branch Les ordres:

$ git branch testing

Ceci crée un pointeur sur l'objet de soumission actuel.

Photos

Git L'un d'eux s'appelle HEAD Pointeur spécial pour,Pointer vers la branche locale où se trouve actuellement(Traduction:Oui. HEAD Imaginez un alias pour la branche courante).Dans ce cas,,Tu es toujours là. master Branche supérieure.Parce que git branch Commande seulement Création Une nouvelle branche,Ne passe pas automatiquement à une nouvelle branche.

Photos

4.3 Basculer la branche

Pour passer à une branche existante,Vous devez utiliser git checkout Les ordres.Nous passons maintenant au nouveau testing Branche - toi.:

$ git checkout testing

Voilà. HEAD C'est ça. testing Branché..

Photos

4.4 Fusionner les branches

Quand on est testing Après avoir travaillé sur la branche et formé quelques colonnes soumises, Peut être commuté en arrière master Branches,Et courir git mergeLes ordres:

$ git checkout master
$ git merge testing

Fusionner en master Branche supérieure.

4.5 Résolution des conflits

Parfois, la fusion ne se passe pas si bien.Si vous êtes dans deux branches différentes,Des modifications différentes ont été apportées à la même partie du même fichier,Git On ne peut pas les fusionner proprement..

$ git merge testing
Auto-merging test.py
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

En ce moment Git A fusionné,Mais une nouvelle soumission de fusion n'a pas été créée automatiquement.Git Ça va s'arrêter.,Attendre que vous résolviez le conflit résultant de la fusion.Vous pouvez l'utiliser à tout moment après la fusion d'un conflit git status Commande pour voir ceux qui ne sont pas fusionnés parce qu'ils contiennent des conflits de fusion(unmerged)Fichiers d'état:

$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:      test.py

no changes added to commit (use "git add" and/or "git commit -a")

Tout fichier en attente de résolution en raison de l'inclusion d'un conflit de fusion,Est identifié comme non consolidé.Git Des balises standard de résolution des conflits sont ajoutées aux fichiers en conflit,Cela vous permet d'ouvrir ces fichiers contenant des conflits et de les résoudre manuellement.Les fichiers en conflit peuvent contenir des sections spéciales,Ça ressemble à ça en bas.:

<<<<<<< HEAD:test.py
print('hello world!')
=======
print("hello world!")
>>>>>>> dev:test.py

Ça veut dire HEAD Version indiquée(C'est à toi. master Emplacement de la branche,Parce que tu cours merge La branche a été commutée au moment de la commande)Dans la partie supérieure de cette section(======= Partie supérieure),Et dev La version indiquée par la branche est ======= La moitié inférieure de.Pour résoudre le conflit,Vous devez choisir d'utiliser ======= Une des deux parties divisées,Ou vous pouvez fusionner le contenu vous - même.

Par exemple,Vous pouvez résoudre le conflit en remplaçant ce paragraphe par ce qui suit

print("hello world!")

.La solution de conflit décrite ci - dessus ne conserve que les modifications apportées à l'une des branches,Et <<<<<<< , ======= , Et >>>>>>> Ces lignes ont été complètement supprimées.Après avoir résolu les conflits dans tous les dossiers,Utiliser pour chaque fichier git add Commande pour marquer le conflit résolu.Une fois que vous avez mis en scène ces fichiers qui étaient auparavant en conflit,Git Ils seront marqués comme résolus.

Tu peux recommencer. git status Pour confirmer que tous les conflits de fusion ont été résolus:

$ git status
On branch master
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

    modified:   test.py

Si vous êtes satisfait des résultats,Et assurez - vous que tous les fichiers précédemment en conflit ont été mis en scène,Vous pouvez entrer git commit Pour compléter la soumission de fusion.

Insérer la description de l'image ici

Enfin: Peut être dans le numéro public:Triste hottie ! Obtenez une copie gratuitement216Page Software Test Engineer interview BaoDian documentation.Et les tutoriels d'apprentissage vidéo correspondants sont partagés gratuitement!,Il s'agit notamment de connaissances de base、LinuxObligatoire、Shell、Principes du programme Internet、MysqlBase de données、Thème spécial de l'outil de capture de paquets、Outil d'essai d'interface、Essai avancé-PythonProgrammation、WebEssais automatisés、APPEssais automatisés、Essai d'automatisation des interfaces、Tester l'intégration continue avancée、Architecture d'essai Élaboration d'un cadre d'essai、Essais de performance、Essais de sécurité, etc..

Ne vous battez pas seuls.,Il vaut mieux se réchauffer.,Grandir ensemble,L'effet de masse est très puissant,Tout le monde étudie ensemble.,Frappez ensemble.,Plus de motivation à apprendre,Et plus tenace..Vous pouvez vous joindre à notre groupe de boutons d'échange de technologie d'essai:914172719(Il contient diverses ressources d'essai de logiciels et des discussions techniques)

Les gars qui aiment tester des logiciels,Si mon blog vous aide、Si vous aimez le contenu de mon blog,S'il vous plaît. “- Oui.” “Commentaires” “Collection” Un bouton, trois liens.!


Bonne Recommandation

Entrevue de transfert,Entrevue de saut d'emploi,Les techniques d'entrevue que les testeurs de logiciels doivent connaître!

Entretien:Transport de briques dans les villes de première ligne!Nouveau poste de Test Logiciel,5000Je suis content.…

L'intervieweur:Trois ans de travail,Encore un test préliminaire.?J'ai peur que votre titre d'ingénieur de Test logiciel soit cité en double…

Quels types de personnes sont aptes à effectuer des essais de logiciels?

L'homme qui a quitté le travail à l'heure.,J'ai été promu avant moi.…

Poste d'essai saut d'emploi répété,Sautez, sautez, sautez.…

版权声明
本文为[Testeur de logiciel]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/10/20211013233038201y.html

Scroll to Top