Git Upstream-Zweig einrichten

Stewart Nguyen 6 Februar 2022
Git Upstream-Zweig einrichten

In diesem Artikel wird erläutert, wie Sie eine Beziehung zwischen der lokalen Verzweigung und der Remote-Verzweigung einrichten.

Git ruft set upstream auf, um diese Art von Beziehung herzustellen.

Der lokale Zweig wird Tracking-Zweig genannt, der von ihm verfolgte Zweig – der Remote-Zweig wird upstream-Zweig genannt.

Der Zweck des Upstream-Settings besteht darin, git push und git pull einfacher zu machen.

Stellen Sie sich vor, Sie haben einen langen Branch-Namen wie diesen, feature/a-long-long-branch-for-feature-A.

Ohne den Upstream-Branch zu setzen, müssen Sie git push explizit mit dem Branch-Namen ausführen.

z.B:

git push origin feature/a-long-long-branch-for-feature-A

Es ist kürzer und Sie können den Branch-Namen, an dem Sie gerade arbeiten, nach dem Einrichten des Upstream-Branch loswerden.

Einfach git push ausführen, sauber und einfach.

Um Upstream einzurichten, wenn der Remote-Zweig noch nicht erstellt wurde, verwenden Sie die Option --set-upstream-to zusammen mit dem Befehl git push.

git push --set-upstream-to origin <branch_name>

Oder seine kürzere Version,

git push -u origin <branch_name>
$ git push -u origin master
Enumerating objects: 17, done.
...
remote: Create a pull request for 'master' on GitHub by visiting:
...
To github.com:username/repo_name.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

Verwenden Sie den folgenden Befehl, um Upstream einzurichten, wenn der Remote-Zweig bereits vorhanden ist.

git branch --set-upstream-to origin/<branch_name>

Oder,

git branch -u origin/<branch_name>

Beispielsweise,

$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

Ein weiterer Vorteil der Upstream-Einrichtung besteht darin, die nicht synchronisierten Commits zwischen den lokalen und den entfernten Zweigen anzuzeigen.

$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
$ touch file.txt
$ git add file.txt && git commit -m 'Add file.txt'
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

Um den Upstream zu deaktivieren, verwenden Sie git branch --unset-upstream; dann zeigt git status die zusätzlichen Informationen nicht an.

$ git branch --unset-upstream
$ git status
On branch master
nothing to commit, working tree clean

Verwandter Artikel - Git Remote