Je n'arrive pas à comprendre les différences entre 'master' 'master' 'origin/master', 'télécommandes/origine/master' !! Y at-il une règle pour nommer les branches GIT? Je suppose que 'origin master' est la branche master dans le référentiel alors que origin/master est mon reflet local de la branche master du repository, alors qu'est-ce que remotes/origin/master ?! Aussi, parfois je dois utiliser origin/master pour faire référence à la branche maître du dépôt (j'ai oublié le cas cependant, mais je sens que j'ai été dans une telle chose avant), pourquoi est-ce?GIT: Problèmes de compréhension de la convention de dénomination de branche
Répondre
Vous devriez lire sur le git branching model pour le comprendre correctement. Cependant, suivre est une explication rapide et sale.
Les branches de git sont des pointeurs vers certains nœuds de l'arbre de validation DAG. Ils se déplacent lorsque vous effectuez certaines opérations (par exemple une validation). master
est un tel pointeur qui est par défaut celui créé lors de l'initialisation d'un nouveau référentiel. C'est votre "branche principale" (pour ainsi dire).
Étant donné que git est un système de contrôle de version distribuée, il existe une différence entre votre référentiel local et un référentiel distant (comme un sur github). Elles sont appelées remote
s et lorsque vous clonez pour la première fois, la télécommande à partir de laquelle vous avez cloné est automatiquement créée et nommée origin
(c'est-à-dire d'où provient votre code).
Lorsque vous dites <remote>/<branch>
, il s'agit de l'emplacement du pointeur <branch>
non sur votre clone local mais sur le <remote>
. Donc, si, après le clonage, vous faites 10 validations à votre branche locale, master
(votre branche locale) sera 10 commits en avance de origin/master
. Pour préciser que nous parlons d'une télécommande, la convention remotes/<remote_name>/<branch_name>
est utilisée.
Je pense que vous devez lire le livre auquel j'ai lié avant d'utiliser git. C'est un peu non intuitif pour les personnes venant d'un système de contrôle de version comme svn
ou autres. Le modèle de branchement pour git est beaucoup plus simple que celui des systèmes centralisés.
- 1. Convention de dénomination xmlns
- 2. Convention de dénomination Linq2sql
- 3. Convention de dénomination de collection
- 4. Convention de dénomination Variable \ Propriété
- 5. Convention de dénomination Microsoft VB.NET
- 6. compréhension de l'aide javascript convention
- 7. Convention de dénomination de im2bw dans MATLAB
- 8. Convention de capitalisation/dénomination pour les contrôles
- 9. Convention de dénomination des images Sharepoint
- 10. Convention de dénomination pour Blackberry Development
- 11. Nom de la convention de dénomination C/C++ stdlib?
- 12. PHP Propel-gen à zend convention de dénomination de cadre
- 13. Expérience de branche Git
- 14. Convention de dénomination de l'espace de noms préféré
- 15. document de convention de dénomination standard de Visual Studio C#?
- 16. Quelle est la convention de dénomination Java correcte pour id?
- 17. Convention de dénomination du fichier de configuration Spring
- 18. convention de dénomination du package de test unitaire
- 19. Convention de dénomination pour ce groupe de fonctionnalités
- 20. Changer de nom de branche en git
- 21. Connexion de la branche git à la fourche GitHub
- 22. C# + Resharper - Méthode d'événements avec underscore - Convention de dénomination
- 23. Existe-t-il une convention de dénomination pour keystore (java)?
- 24. Convention de dénomination pour le contexte d'application Spring XML
- 25. Problèmes d'utilisation de git merge
- 26. java message bundle - convention de dénomination des fichiers de propriétés lors de l'utilisation de variantes?
- 27. Convention de dénomination pour les scripts de modification de base de données?
- 28. erreur Git fatale lors branche de commutation
- 29. Comment modifier la convention de dénomination de fichier pour les fichiers d'objets scriptés dans SQL2005?
- 30. Sortie de la branche git dans l'arbre comme la mode
"Lorsque vous dites/, il fait référence à l'emplacement du pointeur pas sur votre clone local mais sur le ." <- Je sais ce que vous voulez dire, mais je pense que c'est formulé de façon trompeuse - / est vraiment une ref dans votre clone local, et il ne correspond pas nécessairement dans le dépôt . Je pense qu'il est plus utile de penser à / comme une référence qui met en cache l'état de sur depuis la dernière fois que vous avez fait un "git fetch", "git pull" ou "git push" (si le push a été mis à jour sur ) ... –
Très bon point! –