Se si dispone di una configurazione con Git Flow (http://nvie.com/posts/a-successful-git-branching-model/) o simile, si desidera spingere il ramo locale in un ramo remoto diverso. In tal caso, la regola push generica (menzionata da mozart27) non funzionerà in quanto spinge sempre il ramo locale al ramo remoto corrispondente.
Esempio: Ho un ramo locale "feature123" che è pronto per la revisione (ad esempio Gerrit). Il nostro ramo di integrazione è "origine/sviluppo". Se utilizzo la regola push generica, "feature123" verrà sottoposto a revisione su "origin/feature123", ma quello che voglio veramente è spingerlo per la revisione su "origine/sviluppo".
Soluzione: In SourceTree è possibile creare un azione personalizzata:
Menu caption: Push for review
Script to run: cmd
Parameters: /c git push origin $SHA:refs/for/develop
Ricordati di aggiungere Git al percorso per consentire cmd di usarlo.
Quindi, anziché fare clic su "Push", fare clic con il pulsante destro del mouse sul commit e selezionare "Azioni personalizzate -> Push per revisione".
Naturalmente queste due soluzioni possono coesistere, con la regola generica che garantisce che si invii sempre per la revisione quando si spinge su una filiale remota e l'azione personalizzata per quando si desidera inviare un ramo di funzionalità per la revisione sul ramo di integrazione.
fonte
2014-02-18 08:58:03
Sono stato in grado di modificare il nome del ramo remoto, ma questo non ha aiutato poiché utilizzava il master per il ramo locale e non HEAD. Ma i tuoi commenti aggiornati sono stati d'aiuto, aggiungendo la riga "push" nel mio .git/config funzionante. – JoseM
Ancora grazie a molto. Ecco come farlo tramite il comando git config: 'git config remote.origin.push refs/heads/*: refs/per/*' – JoseM
nice. molto meglio con lo strumento della riga di comando corretto. – mozart27