@ Charles Antwort ist korrekt. Wie auch immer, ich habe dies so oft verwendet, vor allem, um bestimmte Konfigurationen in einem Projekt neu zu starten
* a8f9182 (HEAD -> Produktion) Produktionskonfiguration
| * daa18b7 (Vor-) Vorproduktionskonfiguration
| /
| * d365f5f (lokale) lokale Konfiguration
| /
* 27d2835 (dev) erstaunliche neue Funktion, die die Welt retten wird
* | 56d2467 (Master) langweiliger Stand der Technik für das Projekt
| /
dass ich einen neuen Befehl dafür erstelle:
$ cat ~ / bin / git-rebaseshot
COMMIT = $ 1
DEST = $ {2: -HEAD}
git rebase $ {COMMIT} ^ $ {COMMIT} --onto $ DEST
Normalerweise möchten Sie Zweigstellennamen für diesen Befehl automatisch vervollständigen. Fügen Sie ihn hinzu, indem Sie diese Funktion beziehen (Hinzufügen zu .bashrc oder .profile):
_git_rebaseshot ()
{
__gitcomp_nl "$ (__ git_refs)"
}}
git autocomplete sucht danach
Sie können diesen Befehl folgendermaßen verwenden:
# rebase config on prepro on actual HEAD
$ git rebaseshot prepro
# rebase config on local onto dev
$ git rebaseshot local dev
# rebase production config on master
$ git rebaseshot pro master
Wenn Sie Features richtig unterteilen, sind die Möglichkeiten endlos.
* a8f9182 (HEAD -> postgres) BBDD-Konfiguration
* a8f9182 (lokale) lokale Konfiguration
* a8f9182 (Debug) Konfiguration auf Protokollebene
* a8f9182 (dev) neue Funktion
|
Ich denke, das ist es, was Quilt- Leute gerne machen.
Dieser Befehl funktioniert trotzdem mit allen von Ihnen angegebenen sha / ref:
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master