/ / Nedá sa tlačiť na sekundárne vzdialené - git

Nemožno tlačiť na sekundárne vzdialené

Mám nasledujúce diaľkové ovládania v git:

origin  file:///some_path/project/ (fetch)
origin  file:///some_path/project/ (push)
release file:///some_other_path/project/ (fetch)
release file:///some_other_path/project/ (push)

a zavolal som:

git push --set-upstream origin --all
git remote update

keď tlačím na origin:

git push origin

všetko funguje dobre, ale keď sa snažím tlačiť release:

git push release

Mám nasledujúcu chybu:

fatal: You are pushing to remote "release", which is not the upstream of
your current branch "master", without telling me what to push
to update which remote branch.

Prečo?

odpovede:

3 pre odpoveď č. 1

Na master pobočka má signál, že "s remote je origin/master. Môžete vidieť cez git config -l:

branch.master.remote=origin
branch.master.merge=refs/heads/master

Týmto spôsobom, git push vie, na ktoré vzdialenej pobočky by mala tlačiť zmeny bez nutnosti zadať explicitne.

Skúste určiť vzdialených vetiev na tlak, aby release: git push release master.


2 pre odpoveď č. 2

Musíte povedať git push ktoré vetvy chcete tlačiť, a kde sa obrátiť.

Nie je dva spôsoby, ako dosiahnuť tento:

  • Explicitne: Môžete explicitne povedať git push čo robiť s použitím úplnej syntaxe git push <repository> <refspec>. "refspec" je zvyčajne formulára <local branch>:<remote branch>. Takže vo vašom prípade git push release master:master by push vaše miestne master hlavej vetve "release".
  • Implicitne: Ak chcete vždy aktuálna vetva Zatlaãením Konár s rovnakým názvom v vzdialené úložisko, môžete povedať, git.Vykonáte to nastaviť pref ("push.default=current"git config --local push.default current). potom git push release bude fungovať a bude tlačiť lokálnej vzdialenej Predloha.

O tom, prečo to nefunguje vo vašom prípade: vyzerá to, že ste nastavili "push.default=simple" (alebo "proti prúdu") vo vašej konfigurácii.Potom git sa očakávať, že budete tlačiť na pobočku "s nahor, a inak sa sťažovať.