2015-05-05 1 views
13

Ich habe ein Repository und einige lokale Änderungen zu begehen. Vor dem Commit habe ich die Änderungen in Eclipse in Eclipse übernommen.Wie zu vermeiden, merge Commits von Git ziehen, wenn Push an Remote

Es erstellt eine Zusammenführung zu übergeben und ich übergebe mein Commit darüber.

Jetzt, wenn ich versuche, zum Ursprung zu schieben, zeigt es, dass es mein commit ebenso wie merge commit drücken wird. Aber im Idealfall sollte das Zusammenführen nicht Teil des Remote-Repository sein.

Wie vermeide ich das?

+2

Sie eine Menge Infos hier finden: https://www.atlassian.com/git/tutorials/merging-vs- Rebasing/Workflow-Walkthrough – Ryp

+1

mögliches Duplikat von [git workflow und rebase vs. merge questions] (http://stackoverflow.com/questions/457927/git-workflow-and-rebase-vs-merge-questions) – raina77ow

Antwort

19

Verwenden Sie die Rebase-Option, wenn Sie aus dem Remote-Repository abrufen. Bitte befolgen Sie die folgenden Schritte,

  1. Bestätigen Sie Ihre Änderungen - Es wird ein neues Commit in Ihrem lokalen erstellen.
  2. Jetzt tun Sie git pull --rebase <remote-name> <branch-name>.
  3. Grundsätzlich die Rebase nehmen Sie Ihre Commits, die Sie auf dem aktuellen Zweig HEAD als Patch begangen haben. Dann wendet es alle Remote-Commits auf HEAD an und wendet dann Ihre Commits darauf an.
  4. Best Practice ist also, Änderungen zu bestätigen und Remote-Commits mithilfe der Rebase-Option auszuführen.
3

Die übliche Strategie ist es, an einer Verzweigung zu arbeiten. Wenn sich der Remote-Master ändert, ziehen Sie die Änderungen in den Master und statt Rebase der Zweig.

Siehe Git Rebase bei Atlassian.

1

Wenn Sie unbestätigten Änderungen haben, können Sie das tun,

git stash 
git pull --rebase <remote> <branch> 
git stash pop 
Verwandte Themen