Dieser Tip ist von Dav Glass, dessen Arbeit an YUI auf GitHub häufig Commits erfordert. Also hat er sich einen hilfreichen alias erstellt, mit dem er Änderungen einfach zusammenführen kann.
Zunächst hat er ein konsistentes Namensschema für sein entferntes Upstream-Repository festgelegt:
git remote add upstream git://github.com/user/repo.git
Das wirfst du dann in deine .gitconfig
und schon bist du fertig:
[alias] pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"
git pu
zieht alle neuesten Änderungen von beiden entfernten Repositories und führt sie zusammen.
Was ist daran aber anders als ein git pull upstream master
? Es werden Änderungen von zwei verschiedenen Quellen zusammengeführt: Der eigene Fork und das Upstream-Repository. Ein pull zieht für gewöhnlich nur Änderungen von einer Quelle. Falls du verwirrt bist, wie das funktioniert, schau im Abschnitt “History” von Git for Computer Scientists vorbei. Dort zeigen dir ein paar Schaubilder, wie der Fetch- und Merge-Prozess funktionieren.
Natürlich gibt es viele unterschiedliche Wege, mit dem Problem umzugehen. Du könntest beispielsweise rebase oder sogar Pull mit Rebase anstatt das Zusammenführen (Merge) verwenden. Es hängt alles davon ab, wie du deine Repository-History organisieren möchtest und was für dich am einfachsten ist.
Wenn du Aliase oder Vorschläge hast, um diesen Prozess einfacher zu gestalten, lass es uns gerne wissen!