2009-07-02 12 views
39

Ich habe ein lokales Repository, an dem ich arbeite und dessen Remote auf GitHub gehostet wird. Ich habe vor kurzem einen Zweig erstellt und angefangen, daran zu arbeiten, einige Commits zu machen und nun den Zweig nach GitHub zu schieben und ihn in ein anderes geklontes Repository ziehen zu können.Drücken und Ziehen von Zweigen in Git

Was muss getan werden, um dies zu erreichen?

Wenn dies mit GitHub nicht möglich ist, würde ich gerne wissen, wie es normalerweise geht.

+0

Weiteren Informationen über Workflow unter: http: //stackoverflow.com/a/9204499/631619 –

+0

nicht der aufschlussreichste Titel für eine Frage, ugh –

Antwort

46
git push origin <local-branch-name>:<remote-branch-name> 

Ersatz für <local-branch-name> und <remote-branch-name>. Sie können gleich oder verschieden sein, wie Sie es wünschen.

+2

Heißt das, ich kann dann "git pull ursprung : "? – PHLAK

+4

@PHLAK: Ja, Sie können die gleiche Refspec auch für 'git pull' verwenden. –

+0

@AlanHaggaiAlavi Aber das ist nicht das gleiche Refspec. –

16

Wie Sie die Fernbedienungen bereits eingerichtet haben, ist der Befehl nur

git push origin branch-name 

auf dem ersten Stoß.

Danach, mit git push origin würde Push alle Zweige mit dem passenden Namen auf Remote.

5

Stellen Sie sicher, dass Ihre Remote-URL die SSH-Syntax und nicht nur die Git-Protokoll-Syntax verwendet. Wenn Sie laufen,

git remote show origin 

die URL gedruckt sollte wie etwas aussehen,

[email protected]:yourname/projectname.git 

Sie müssen auch die URL so aussehen, wenn Sie in der Lage sein schieben wollen. Wenn Sie nur eine öffentliche Benutzer (ohne Schreibzugriff) die URL sind aussehen wird,

git://github.com/yourname/projectname.git 

Wenn Ihr wie diese aussieht, dann können Sie es manuell .git/config Datei in Ihre Projekte bearbeiten.

+0

Ich kann schon drücken und ziehen und von meinem GitHub Repo, ich versuche nur herauszufinden, wie man einen Zweig drückt und zieht. – PHLAK

0

, wenn Sie irgendeine Zweig Code ziehen müssen aus der Ferne, um lokal

$git pull origin branch_name 

während, wenn Sie Code in Ihre Niederlassung

Sie überprüfen müssen schieben müssen, ist Ihr Code speichern erfolgreich Sie können Besuche von

$git status 

als

$git add -A 

nach dieser Marke zu Ihrer Branche verpflichten

$git commit -m "this is initial change" 

als (Last) Ihren Code zu Ihrer Branche schiebt nach:

$git push origin branch_name