Git Add Remote Branch

139

Ich möchte eine Fernbedienung und einen Zweig dieser Fernbedienung hinzufügen.

Ich habe es getan git remote add <newname> <url>, dann habe ich es getan, git fetch --allaber es git branch -awird kein Zweig der Fernbedienung angezeigt. Meine .git / config zeigt die hinzugefügte Fernbedienung an.

Kann mir bitte jemand helfen?

Rai
quelle
2
Was passiert wenn du git fetch remote branch:branch && git co branch?
Samy Dindane

Antworten:

280

Ich bin mir nicht sicher, ob Sie versuchen, einen Remote-Zweig aus einem lokalen Zweig zu erstellen oder umgekehrt. Daher habe ich beide Szenarien skizziert und Informationen zum Zusammenführen des Remote- und des lokalen Zweigs bereitgestellt.

Erstellen einer Fernbedienung namens "Github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Alle entfernten Zweige auflisten:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Erstellen Sie einen neuen lokalen Zweig (Test) aus dem Remote-Zweig (pu) eines Githubs:

git branch test github/pu
git checkout test

Änderungen vom Remote-Zweig (pu) von github mit dem lokalen Zweig (Test) zusammenführen:

git fetch github
git checkout test
git merge github/pu

Aktualisieren Sie den Remote-Zweig (pu) von github von einem lokalen Zweig (Test):

git push github test:pu

Das Erstellen eines neuen Zweigs auf einem Remote-Zweig verwendet dieselbe Syntax wie das Aktualisieren eines Remote-Zweigs. Erstellen Sie beispielsweise einen neuen Remote-Zweig (Beta) auf Github aus dem lokalen Zweig (Test):

git push github test:beta

Remote-Zweig (pu) aus Github löschen:

git push github :pu
David M. Syzdek
quelle
Gibt es eine Möglichkeit, den lokalen Zweig ohne Angabe des Namens so zu erstellen, dass er automatisch denselben Namen wie der Remote-Zweig annimmt?
Dubslow
@ Dublow git checkout --track github/pu, siehe hier
Hinrich
25

Sie können überprüfen, ob Sie Ihr Remote-Setup richtig ausgeführt haben und über die richtigen Berechtigungen verfügen

git ls-remote origin

wenn Sie Ihre Fernbedienung "Ursprung" genannt haben. Wenn Sie eine Fehlermeldung erhalten, ist Ihre Sicherheit wahrscheinlich nicht richtig eingerichtet, z. B. das Hochladen Ihres öffentlichen Schlüssels auf github. Wenn die Dinge richtig eingerichtet sind, erhalten Sie eine Liste der Remote-Referenzen. Jetzt

git fetch origin

funktioniert, außer bei anderen Problemen wie einem nicht angeschlossenen Netzwerkkabel.

Sobald Sie dies erledigt haben, können Sie jeden gewünschten Zweig erhalten, mit dem der obige Befehl aufgelistet ist

git checkout some-branch

Dadurch wird ein lokaler Zweig mit demselben Namen wie der Remote-Zweig erstellt und ausgecheckt.

Adam Dymitruk
quelle
6

Ich habe getestet, was @Samy Dindane im Kommentar zum OP vorgeschlagen hat.

Ich glaube, es funktioniert, versuchen Sie es

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Hier ist ein Beispiel für ein fiktives Remote-Repository foomit einem Namen, barin dem ich einen lokalen Zweig erstelle bar, der die Fernbedienung verfolgt:

git fetch foo bar:bar
git checkout bar
Jason
quelle
5

Hier ist der vollständige Prozess zum Erstellen eines lokalen Repos und zum Übertragen der Änderungen auf einen neuen Remote-Zweig

  1. Lokales Repository erstellen: -

    Zu Beginn hat der Benutzer möglicherweise das lokale Git-Repository erstellt.

    $ git init : - Dadurch wird der lokale Ordner zum Git-Repository.

  2. Verbinden Sie den Remote-Zweig : -

    Die Herausforderung besteht nun darin, das lokale Git-Repository dem Remote- Master zuzuordnen Zweig .

    $ git remote add RepoName RepoURL

    Verwendung: git remote add []

  3. Testen Sie die Fernbedienung

    $ git remote show ---> Zeigen Sie den Namen der Fernbedienung an

    $ git remote -v ---> Zeigen Sie die Remote-Zweige an

  4. Jetzt auf Fernbedienung drücken

    $git add . ----> Füge alle Dateien und Ordner als git inszeniert hinzu '

    $git commit -m "Your Commit Message" - - -> Nachricht festschreiben

    $git push - - - -> Übertragen Sie die Änderungen in den Upstream

Pavan
quelle
Dies sind nur die Anweisungen für den allgemeinen Fall der Verwendung von Git. Ich sehe in dieser Antwort nichts Spezielles für die gestellte Frage.
Hack-R
2

Wenn der Remote-Zweig bereits vorhanden ist, können Sie (wahrscheinlich) mit ... davonkommen.

git checkout branch_name

und git werden automatisch eingerichtet, um den Remote-Zweig mit demselben Namen am Ursprung zu verfolgen.

Sam Murphy
quelle