Je crée une nouvelle branche dans Git:
git branch my_branch
Poussez-le:
git push origin my_branch
Maintenant, disons que quelqu'un a fait des changements sur le serveur et que je veux origin/my_branch
. Je fais:
git pull
Mais je reçois:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
J'ai appris que je peux le faire fonctionner avec:
git branch --set-upstream my_branch origin/my_branch
Mais pourquoi dois-je le faire pour chaque branche que je crée? Est - il pas évident que si je pousse my_branch
dans origin/my_branch
, je voudrais tirer origin/my_branch
en my_branch
? Comment puis-je en faire le comportement par défaut?
--set-upstream
option est déconseillée. Vous devez utiliser --track
ou à la --set-upstream-to
place.
--set-upstream
est obsolète, alors les développeurs de git devraient le supprimer du message d'aide qui s'affiche lorsque vous exécutez git push
sans aucune option et qu'aucun paramètre en amont n'est défini?
git branch --set-upstream
est obsolète. git push --set-upstream
n'est pas.
branch.autosetupmerge
signifie que la configuration en amont d'une nouvelle branche n'est définie automatiquement que lors de la création d'une branche à partir d'une branche de suivi à distance (par exemple<remote-name>/<branch-name>
) (voir git-config (1) ). Vous créez probablement vos succursales à partir de succursales locales existantes. Si vous vous branchez directement à partir de la pointe d'une branche distante (bien que vous soyez sur une branche locale), vous pouvez utilisergit branch my_branch <remote-name>/<branch-name>
pour configurer automatiquement la configuration en amont.