2017-03-20 3 views
0

Ich habe 3 Zweige:Wie wende ich git Änderungen vom Master auf andere Zweige an?

  • Master
  • test1
  • test2

Jetzt habe ich einige Änderungen an Master hinzufügen.

Aufgabe ist: diese Änderungen auf test1 und test2 anwenden, aber diese Zweige getrennt vom Master speichern.

Es sieht einfach aus, aber ich komme damit nicht klar.

Nun, ich versuche test1 mit Master fusionieren:

git checkout test1 
git merge master # already up-to-date 
git pull origin master # up-to-date 
git push origin test1 # Everything up-to-date 

Keine Änderungen von Master in Folge.

Der Versuch, Fütterungsmaterial:

git checkout test1 
git rebase master 
git status 

On branch test1 
Your branch and 'origin/test1' have diverged, 
and have 1 and 7 different commits each, respectively. 
(use "git pull" to merge the remote branch into yours) 

git pull 

Merge von der 'rekursiven' Strategie gemacht. Ihre Niederlassung ist um 2 Commits vor 'Herkunft/Test1'.

Was sind diese 2 commits? Ich habe viele Commits im Master.

Auch gibt es noch keine Änderungen vom Master im aktuellen Zweig.

So kann ich nur zurückkommen diese mit

Also, wie kann ich mich bewerben neueste richtig vom Master verpflichtet?

git reset --hard origin/test1 
+0

Typischerweise gibt es zwei Möglichkeiten: 1. Merge Master in test1/test2 2. Rebase auf Master Anscheinend haben Sie versucht schon diese beiden und es hat nicht funktioniert. Bitte erläutern Sie, was genau das Ergebnis für beide Optionen ist. Es hilft immer, das Log/Graph mit 'git log --decorate --graph --oneline --all 'zu betrachten. –

+2

Ich konnte dieses Verhalten nicht duplizieren. Schritte: create master, commit. Erstellen Sie test1, commit. Checkout Master, divergentes Commit. Checkout test1, Zusammenführen, Konflikte lösen ... keine Probleme? –

Antwort

Verwandte Themen