Lors de l'introduction des branches dans le livre "Pro git", le concept de branches en amont est mentionné.
L'extraction d'une branche locale à partir d'une branche de suivi à distance créera automatiquement une branche appelée "branche de suivi" (parfois également appelée "branche en amont")
De là, nous pouvons voir que la branche en amont mentionnée ici fait référence à une branche local extraite d'une branche distante.
Cependant, lorsque le « raccourci amont » est mentionné plus loin dans ce livre, cette branche amont ne fait pas référence à la branche local :
si vous le souhaitez.Après avoir configuré la branche de suivi, vous pouvez la référencer via le raccourci @{upstream} ou @{u}. Ainsi, lorsque vous êtes sur la branche master et qu'elle suit origin/master, vous pouvez utiliser git merge @{u} au lieu de git merge origin/master
Lorsque nous utilisons git et push vers l'entrepôt distant, nous rencontrons souvent le concept de branches en amont. Par exemple, lorsque vous poussez vers le distant pour la première fois, vous n'ajoutez aucun paramètre :
.git push
Ensuite, git vous demandera immédiatement de configurer la branche amont :
fatal : le maître de branche actuel n'a pas de branche amont correspondante.
Pour pousser la branche actuelle et établir un suivi avec la télécommande en amont, utilisez
git push --set-upstream origin master
La branche amont ici semble également faire référence à la branche remote.
La question se pose donc : qu’est-ce qu’une « branche amont » exactement ? Le livre "Pro git" ne donne pas de concept précis et on dit aussi sur Internet que la branche amont n'est qu'un concept relatif ;
Pour faire simple, l'amont est la branche distante correspondant à votre branche locale. Si vous ne spécifiez pas la branche distante lors de l'appui sur pull ou fetch, la branche amont sera utilisée.
Bonjour, tout d'abord, je n'ai lu aucun livre sur Git, mais j'ose dire que je maîtrise très bien les opérations Git, que j'ai apprises grâce à une pratique à long terme. Peut-être que je peux comprendre votre confusion !
;Tout d'abord, le cerveau ne peut pas rester sur le SVN précédent, qui est le concept d'entrepôt central ! Tout d'abord, il n'y a pas de référentiel central dans Git, donc la question se pose : quelle partie de votre code local doit être soumise au code distant ?
git branch --set-upstream branch
Cette branche est la branche distante Définissez une branche existante pour suivre la branche distante. Après avoir configuré la branche de suivi à distance, vous pouvez taper la commande normalement et simplement : git pull; git psuh;Par exemple, lorsque vous appuyez sur la télécommande pour la première fois, vous n'avez ajouté aucun paramètre :
git push
Ensuite git Vous serez immédiatement invité à configurer la branche amont :
Ensuite, vous devez git push origin master par défaut, la branche distante actuelle est la branche principale
Selon l'usage habituel, la branche amont fait référence à une branche de la bibliothèque distante. Cette bibliothèque peut être un compte dans github, ou elle peut être un répertoire sur un certain serveur (y compris la configuration locale en amont). La branche est connectée aux branches d'autres bibliothèques, de sorte qu'un ensemble de codes puisse être modifié ensemble au lieu de simplement le faire vous-même