2017-06-08 2 views
2

Wenn ich einen neuen Zweig erstellen und versuchen, es zu schieben, wird mir gesagt, dass ich explizit sagen muss, was der Name des Upstream-Zweigs sein muss.Wie man den Upstream-Zweig auf den gleichen Namen wie den Zweig setzt

Gibt es eine Möglichkeit, das zu tun, ohne den Namen des Upstream-Zweigs eingeben zu müssen? Ich virtuell immer möchte es den gleichen Namen auf dem Server sein, wie es lokal ist.

Gibt es eine Möglichkeit, etwas wie git push --set-upstream <current_branch_name> zu tun, unabhängig davon, was der aktuelle Zweigname ist?

Antwort

2

[Bearbeiten] sajib khan's first answer, setting push.default to current aktiviert Pushing, aber nicht tatsächlich den Upstream. Dies bedeutet, dass nach einer Zukunft git fetch, Ihr Git nicht vor/hinter Zählungen berichten wird, und Ihr Git nicht wissen die vorgelagerten für git rebase oder git merge (oder git pull entweder zu verwenden, obwohl ich rate git pull zu vermeiden).

Sie können [bearbeiten, wie im zweiten Teil seiner Antwort]:

git push -u origin HEAD 

Falls erforderlich, das schafft die Filiale auf der anderen Git, so dass Ihre Git die Variante origin/ erwirbt. Dann stellt es auf jeden Fall den (möglicherweise neuen) Remote-Tracking-Zweig ein, den Sie als Zweig Ihres Zweigwerks haben. Aber bis origin/feature/long-branch-name-I-dont-want-to-have-to-type-out tatsächlich existiert, können Sie es nicht als Upstream festlegen.


Eigentlich Sie können, kann man einfach nicht git branch --set-upstream es zu tun verwenden. Und du willst es sowieso nicht mehr eingeben. Um es zu machen „von Hand“ Sie müßten:

git config \ 
    branch.feature/long-branch-name-I-dont-want-to-have-to-type-out.remote origin 
git config \ 
    branch.feature/long-branch-name-I-dont-want-to-have-to-type-out.merge \ 
    feature/long-branch-name-I-dont-want-to-have-to-type-out 

das heißt, sie aus der Eingabe dreimal, oder selbst ein Skript zu schreiben (!).

1

konfigurieren git config-

$ git config --global push.default current 

Jetzt, nach der Kasse an einem Zweig, sollten Sie einfach git push

$ git checkout -b new-branch 
$ git push     # similar to git push -u origin new-branch 

Sie auch HEAD statt eingeben aktuellen Zweignamen verwenden können.

$ git push -u origin HEAD 

N.B. HEAD und lokaler Stromzweig bleiben normalerweise im selben Zustand.

Verwandte Themen