Le meilleur didacticiel gestion de la branche Git en 2024, dans ce didacticiel, vous pouvez apprendre gestion de la branche Git,
Presque tous les systèmes de contrôle de version supportent une certaine forme de branche. Cela signifie que vous pouvez utiliser une branche de la ligne principale de développement pour séparer et n'a aucune incidence sur la ligne principale, tout en continuant à travailler.
Quelqu'un Git modèle de branchement appelé "nirvana Caractéristiques", mais précisément parce qu'il distingue du système de contrôle de version Git pour la famille.
Créer une instruction de branchement:
git branch (branchname)
Direction commande de commutation:
git checkout (branchname)
Lorsque vous basculez branches, Git utilisera les conclusions finales des instantanés de la branche remplacent le contenu de votre répertoire de travail, branche multiple ne nécessite pas plusieurs répertoires.
Fusionner Branches commande:
git merge
Vous pouvez fusionner en une branche unifiée à plusieurs reprises, vous pouvez également choisir de supprimer directement après la fusion être incorporé branches.
Les commandes de base sont répertoriés dans la branche:
git branch
Lorsque aucun argument, git branch sera listé dans votre succursale locale.
$ git branch * master
Dans ce cas, cela signifie que nous avons appelé un «maître» branche et la branche est la branche courante.
Lorsque vous exécutez git init, la valeur par défaut Git va créer branche "master" pour vous.
Si nous voulons créer manuellement une branche et basculer. Exécuter git branch (branchname) peut être.
$ git branch testing $ git branch * master testing
Maintenant, nous pouvons voir que, avec un nouveau test de branche.
Lorsque vous soumettez une mise à jour de cette manière dans le dernier créé une nouvelle branche, si plus tard également présenter des mises à jour, puis passer à la branche «testing», Git va restaurer votre répertoire de travail pour ressembler lorsque vous créez une branche
Ensuite, nous allons vous montrer comment passer branches, nous sommes passés avec git checkout (branche) que nous voulons modifier la branche.
$ ls README $ echo 'w3cschool.cc' > test.txt $ git add . $ git commit -m 'add test.txt' [master 048598f] add test.txt 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 hello.php create mode 100644 test.txt $ ls README test.txt $ git checkout testing Switched to branch 'testing' $ ls README hello.php
Lorsque nous sommes passés à la «testing» branche, nous ajoutons une nouvelle test.txt de fichier a été supprimé hello.php de fichier, le fichier original est supprimé a émergé. Le retour à la branche "master", ils sont réapparus.
$ git checkout master Switched to branch 'master' $ ls README test.txt
Nous pouvons également utiliser la commande git checkout -b (branchname) pour créer une nouvelle branche et immédiatement commuté à la branche, afin d'opérer dans cette branche.
$ git checkout -b newtest Switched to a new branch 'newtest' $ git rm test2.txt rm 'test2.txt' $ ls README test.txt $ git commit -am 'removed test2.txt' [newtest 556f0a0] removed test2.txt 1 file changed, 1 deletion(-) delete mode 100644 test2.txt $ git checkout master Switched to branch 'master' $ ls README test.txt test2.txt
Comme vous pouvez le voir, nous avons créé une branche, supprimer certains fichiers dans le cadre de cette branche, puis revenir à notre branche principale, ces fichiers en arrière.
Utilisez la branche de coupe séparée va fonctionner, de sorte que nous pouvons faire des choses dans des contextes différents, et basculer.
Retirer l'instruction de branchement:
git branch -d (branchname)
Par exemple, nous voulons supprimer "testing" branche:
$ git branch * master testing $ git branch -d testing Deleted branch testing (was 85fc7e7). $ git branch * master
Une fois une branche a un contenu indépendant, vous allez finir par vouloir fusionner dans votre branche master. Vous pouvez utiliser la commande suivante à une branche fusionnée dans la branche courante à:
git merge
$ git branch * master newtest $ ls README test.txt test2.txt $ git merge newtest Updating 2e082b7fr556f0a0 Fast-forward test2.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test2.txt $ ls README test.txt
Les exemples ci-dessus, nous Newtest fusionnés dans la branche principale branche, test2.txt fichier est supprimé.
Combiné et non pas simplement ajouter un fichier, l'opération supprimée, Git permettra également de fusionner les modifications.
$ git branch * master $ cat test.txt w3cschool.cc
Tout d'abord, nous créons un répertoire appelé commutation de branche "de change_site" dans le passé, nous serons contenu à www.w3cschool.cc.
$ git checkout -b change_site Switched to a new branch 'change_site' $ vim test.txt $ head -1 test.txt www.w3cschool.cc $ git commit -am 'changed the site' [change_site d7e7346] changed the site 1 file changed, 1 insertion(+), 1 deletion(-)
Le contenu modifié soumis à "change_site" branche. Maintenant, si vous revenez à la branche "master" que nous pouvons revenir à voir le contenu de nos modifications avant que nous modifions à nouveau le fichier test.txt.
$ git checkout master Switched to branch 'master' $ head -1 test.txt w3cschool.cc $ vim test.txt $ cat test.txt w3cschool.cc 新增加一行 $ git diff diff --git a/test.txt b/test.txt index 704cce7frf84c2a4 100644 --- a/test.txt +++ b/test.txt @@ -1 +1,2 @@ w3cschool.cc +新增加一行 $ git commit -am '新增加一行' [master 14b4dca] 新增加一行 1 file changed, 1 insertion(+)
Or, ces changements ont été enregistrés dans mon «maître» de la branche. Ensuite, nous allons "change_site" consolidation de la branche sur.
$ git merge change_site Auto-merging test.txt CONFLICT (content): Merge conflict in test.txt Automatic merge failed; fix conflicts and then commit the result. $ cat test.txt <<<<<<< HEAD w3cschool.cc 新增加一行 ======= www.w3cschool.cc >>>>>>> change_site
Nous allons fusionner avant une branche à branche "master", un conflit de fusion se pose, alors nous avons besoin de la modifier manuellement.
$ vim test.txt $ cat test.txt www.w3cschool.cc 新增加一行 $ git diff diff --cc test.txt index f84c2a4,bccb7c2fr0000000 --- a/test.txt +++ b/test.txt @@@ -1,2 -1,1 +1,2 @@@ - w3cschool.cc + www.w3cschool.cc +新增加一行
Dans Git, git ajouter que nous pouvons utiliser pour dire Git fichier conflit a été résolu
$ git status -s UU test.txt $ git add test.txt $ git status -s M test.txt $ git commit [master 88afe0e] Merge branch 'change_site'
Maintenant, nous avons réussi à résoudre les conflits de fusion, et de soumettre les résultats.