Che cosa potrebbe causare un 'git push' per provare e impegnarsi in due rami? Ho una mia filiale su cui sto lavorando, che è sul repository condiviso ... e un master branch. In questo momento volevo solo spingere al mio ramo personale che andava bene, ma ha anche cercato di spingere al master e mi ha rifiutato. Sembrava qualcosa di simile:Perché git spinge verso due rami in questo push git?
foo$ git push
Counting objects: 38, done.
Delta compression using 2 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 9.73 KiB, done.
Total 21 (delta 14), reused 0 (delta 0)
To ssh://example.com/project.git
8184634..86b621e mybranch -> mybranch
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to 'ssh://example.com/project.git'
mio config si presenta così:
remote.origin.url=ssh://example.com/project.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.mybranch.remote=origin
branch.mybranch.merge=refs/heads/mybranch
Esko nota che sta spingendo ad entrambi perché sono nel mio config. Cosa succede se voglio spingere ad entrambi, solo non simultaneamente? Quando ho il mybranch verificato e io spingo, voglio chiaramente spingere mybranch e non padroneggiare. Ci sono momenti in cui eseguo il checkout di master, modifica codice e voglio commettere/spingere anche questo. C'è un modo per entrambi di coesistere?
Cosa devo fare se voglio spingere ciascuno di essi, non solo al contemporaneamente?Ci sono momenti in cui voglio spingere solo mybranch, e ci sono momenti in cui unirò mybranch al master e voglio spingere il master. Che cosa si fa in questo caso? – Coocoo4Cocoa
È sempre possibile nominare esplicitamente il ramo che si desidera premere, utilizzando il modulo "git push". Vedi http://www.kernel.org/pub/software/scm/git/docs/git-push.html –
Le versioni più recenti di git ti consentono di specificare questo comportamento. – Dustin