Ich möchte einen Zweig auf dem Master-Zweig rebasen, aber so, dass alle Commits im Git-Log in chronologischer Reihenfolge erscheinen. Ist das möglich ohne git rebase --interactive
und die Commits manuell neu anordnen?wie man in chronologischer Reihenfolge rebase und commits hält?
Hintergrund: Ich bin mit git Spur der Puppen Konfiguration einer Serverfarm zu halten. Der Master-Zweig befindet sich immer in einem bekannten guten Zustand, so dass alle vorhandenen Server ihre Konfiguration vom Puppet-Master-Server abrufen können.
Jeder neue Server erhält seinen eigenen Zweig. Wenn ich also an der Konfiguration eines neuen Servers arbeite, z. B. einen Domainnamen ändern, ein SSL-Zertifikat konfigurieren, checke ich seinen Zweig und übergebe alle Konfigurationen.
Nachdem die neue Konfiguration abgeschlossen ist, rebase ich die Änderungen an dem Master-Zweig:
# git checkout new_config
Switched to branch 'new_config'
# git rebase master
First, rewinding head to replay your work on top of it...
Applying: fix routing rules
Applying: fix netmask
Applying: configure new ip address
# git checkout master
Switched to branch 'master'
# git merge new_config
Updating 21a3120..b0b79d7
Fast-forward
files/custom/xxxx | 45 +++++++++++++++++++++++++++++++++++++++++++++
files/custom/yyyy | 38 --------------------------------------
manifests/site.pp | 6 +++---
3 files changed, 48 insertions(+), 41 deletions(-)
#
Die neuen Commits jetzt oben auf das Protokoll sind, aber sie haben ihre ursprünglichen (Vergangenheit) Daten. Es sieht wie folgt aus:
commit b0b79d7924ec97e367664ccc26aaf0021916a30d
Author:
Date: Sun Jul 12 17:14:41 2015 +0200
configure new ip address
commit f60d00abd57d6b8582f49bf1322efb88d44ee86e
Author:
Date: Fri Jul 10 13:19:45 2015 +0200
fix netmask
commit 6eaae6c328faf55e5725f65a947bbb23ea29b166
Author:
Date: Fri Jun 12 14:05:25 2015 +0200
fix routing rules
commit 21a31200e6694c640b2cb526d773af11cd703ff1
Author:
Date: Wed Jul 15 15:08:41 2015 +0200
(most recent commit on master before rebase)
commit a7fa9cfa9c317fbbeb7dac8a89009c7d935fdd11
Author:
Date: Wed Jul 15 11:56:59 2015 +0200
(second most recent commit on master)
Beachten Sie, wie die alten Zeitstempel der Branche an der Spitze des Flog angezeigt verpflichtet, statt im Protokoll weiter unten zusammengefasst werden entsprechend ihrer begehen Daten. Ich muss ein anderes git rebase --interactive
laufen lassen, um die commits so neu anzuordnen, dass meine Protokollakte alle commits in chronologischer Reihenfolge zeigt.
Könnten Sie bitte erklären, warum es für Sie wichtig ist, dass Commits in chronologischer Reihenfolge angezeigt werden? –
es ist mein persönlicher Geschmack. Ich finde es verwirrend, wenn es so sortiert ist. – nn4l