2017-02-26 2 views
1

Ich hätte einen besseren Titel gewählt, aber könnte nicht einen besseren Weg zu erklären, was ich versuche, da ich ziemlich neu zu Github bin.Merge zu Remote-Zweig zu vermeiden Code geändert werden

Also im Grunde, was ich versuche zu erreichen ist, dass ich eine Open-Source-Anwendung von einem Github Repo ziehe. Ich muss es meiner Organisation hinzufügen, damit es angepasst werden muss. Das Problem ist, dass alle 2 Wochen ein Update für die Anwendung veröffentlicht wird und ich gerne auf dem Laufenden bleiben möchte.

Was ich tun möchte, ist in der Lage, das Update zu ziehen, ohne dass mein angepasster Code betroffen ist. Beachten Sie, dass mein angepasster Code höchstwahrscheinlich nur Änderungen an CSS und HTML der Anwendung vornehmen wird. Daher ist es sehr unwahrscheinlich, dass diese Dateien von den Entwicklern geändert werden, aber da dies möglich ist, möchte ich sicherstellen, dass mein benutzerdefiniertes Branding korrekt ist beibehalten.

Im Allgemeinen würde ich mich freuen, wenn mir jemand sagen kann, was genau ich tun muss, um dies zu erreichen. Ich habe den Eindruck, dass es etwas mit dem Zusammenführen zu tun hat, aber ich bin mir nicht ganz sicher, ob das Zusammenführen dem dient, was ich erreichen möchte.

Dank

Antwort

1

Der sauberste Weg ist es, neuen Zweig mit Anpassungen zu erstellen. Sie können dies tun, indem sie:

git checkout -b <my-branch-name> 

Dann Sie Änderungen hinzufügen und sich verpflichten, sie zu Ihrer Branche:

git add --all 
git commit -m "<describe_changes>" 

Wenn Update geschieht, Sie an den Master Zweig zurück und ziehen Update:

git checkout master 
git pull 

Und Ihre Niederlassung an den Master rebase (anwenden Updates):

git checkout <my-branch-name> 
git rebase master 

Es ist einfach, Updates zu verschmelzen, git wird dies tun. Andernfalls werden Konflikte markiert und Sie aufgefordert, diese zu lösen.

+0

Können Sie etwas erklären, was die Rebase eigentlich macht und wie sie funktioniert, wie ich es will? Die Art und Weise, wie ich es ansehe, wird es nicht auch die Änderungen rückgängig machen, die gerade zum Meister gezogen wurden? –

+0

Sie haben keine Änderungen am Master-Zweig vorgenommen, daher gibt es nichts, was zurückgesetzt werden könnte. Alles, was Sie tun, befindet sich in Ihrem Zweig, und Sie finden einen gemeinsamen Vorfahren beider Zweige und fügen an diesem Punkt neue Commits (vom Master) ein. Wenn Sie an Git interessiert sind, können Sie lesen Git Buch (die ersten 3 Kapitel sind wirklich gut): https://git-scm.com/book/en/v2 –

+0

Gotcha. Vielen Dank! :) –

Verwandte Themen