2016-08-19 3 views
0

Ich habe ein Projekt auf GitHub, gibt es einige Zweige drin.Was ist besser ziehen oder Zusammenführen zu Zweigen auf GitHub

  • Master
  • alpha
  • beta

zum Beispiel. Jetzt erstelle ich einen neuen Zweig alpha-issue1. Auf Alpha-Zweig wurde einige Commits von meinen Hochschulen hinzugefügt, und ich möchte diese Änderungen in meine Branche kopieren. Zum ersten Mal denke ich git merge alpha wäre eine gute Idee, aber dann lese ich über 'besseren Weg' - git pull alpha test-issue1 (wenn ich richtig). Also ich weiß nicht, welchen Weg ich wählen soll.

+2

'git pull' ist im Wesentlichen nur' git fetch' gefolgt von 'git merge'. Also fragt man, ob es besser ist, 'git merge' auszuführen oder' git merge' auszuführen. Die Fragen, die Sie stellen sollten, sind nicht "Pull vs Merge", sondern "Merge vs Rebase, und wenn Merge, genau * was * zu fusionieren". – torek

Antwort

1

Ihre Frage direkt zu beantworten: a git pull ist (grob) entspricht git fetch ; git merge. Wenn Sie möchten, können Sie das genaue Verhalten in git help pull nachlesen. Der Unterschied zwischen merge und pull besteht also eher darin, ein paar mehr oder weniger Befehle zu tippen, und nicht auf irgendwelche funktionalen Unterschiede.

In Bezug auf die Beispielbefehle, die Sie gaben - nein, sie ergeben keinen Sinn.

git pull alpha test-issue1

Per Ihre Frage, alpha ist ein Zweig, kein entfernter, so ist dies syntaktisch falsch (die Syntax ist git pull <remote> ...). Außerdem können Sie keinen "Ziel" -Verzweig mit git pull angeben, alle Zusammenführungen gehen in den aktuell ausgecheckten Zweig.

0

Ich bin mir nicht sicher, ob ich deine Frage richtig verstehe, aber hier sind meine Gedanken. Wenn Sie von alpha in einen neuen Zweig verzweigen, in dem Sie ein paar Commits haben, besteht die Standardmethode darin, diesen Zweig einfach wieder zu alpha zusammenzuführen, nachdem Sie damit fertig sind. Es ist auch eine gute Vorgehensweise, alpha auf alpha-issue1 zu verschmelzen, bevor die neue Verzweigung auf alpha zusammengeführt wird, wenn in einem Team gearbeitet wird (viele Commits von verschiedenen Entwicklern auf derselben Verzweigung). Auf diese Weise müssten Sie die möglichen Konflikte auf der Arbeitsniederlassung (alpha-issue1) anstelle der Haupt (alpha) lösen. Auf der anderen Seite wird Pull normalerweise verwendet, wenn Sie Ihre Zweigstelle mit den letzten Commits aktualisieren möchten.

0

Sie Unter der Annahme, sind auf alpha-issue1, git merge alpha die Änderungen auf dem alpha Zweig gemacht wiedergeben wird, da es von alpha-issue1 oben auf alpha-issue1 abwich.


Sie Unter der Annahme, sind auf alpha-issue1, git pull alpha die auf alpha Zweig Änderungen ziehen wird, da es aus alpha-issue1 und verschmelzen sie auf alpha-issue1 abwich. Wie Sie sehen können, ist es im Wesentlichen das Gleiche.


In der Tat wird die bessere Frage sein git-merge vs git-rebase