git dice tutto-up-to-date quando si spinge modifiche a una filiale remota
-
21-09-2019 - |
Domanda
Ho commit che si trovano in un repository remoto (origine / master), che voglio mettere in un ramo creato da quel repository (origine / remote_branch).
quando ho checkout a quel ramo remoto
git checkout -b mybranch origin/remote_branch
poi ciliegia-raccolto i commit che ho fatto
git cherry-pick 9df63616b0428cf6edc4261adb533a1ac516b9a0
git dice tutto-up-to-date quando provo a spingere.
git push
C'è qualcosa che sto facendo male?
Soluzione
A seconda della versione di Git, si può tentare di spingere i rami con nomi corrispondenti, vale a dire, a master
origin/master
e remote_branch
a origin/remote_branch
. Se il repository di origine non ha un ramo di nome mybranch
allora pensa non c'è niente da aggiornare.
Per ignorare questa impostazione predefinita, si può dire in modo esplicito git che si diramano da utilizzare come sorgente (mybranch
), e che da utilizzare come destinazione sul repository remoto (remote_branch
):
git push origin mybranch:remote_branch
C'è un'opzione di configurazione per dire git a spingere alle succursali di monitoraggio remoto per impostazione predefinita:
git config --global push.default tracking
Lo trovo più intuitivo e penso che sia il comportamento che stai cercando. Checkout l'opzione push.default
nella git config uomo page . Anche checkout sezione Esempi nella href="http://www.kernel.org/pub/software/scm/git/docs/git-push.html" rel="noreferrer"> pagina man per vedere come ignorare il comportamento predefinito.