La réponse de @Charles est correcte. Quoi qu'il en soit, j'ai fini par l'utiliser tant de fois, surtout pour rebaser une configuration spécifique sur un projet
* a8f9182 (HEAD -> production) configuration de production
| * configuration de préproduction daa18b7 (pré)
| /
| * Configuration locale d365f5f (locale)
| /
* 27d2835 (dev) nouvelle fonctionnalité étonnante qui sauvera le monde
* | 56d2467 (maître) état de l'art ennuyeux pour le projet
| /
que je crée une nouvelle commande pour cela:
$ cat ~ / bin / git-rebaseshot
COMMIT = 1 $
DEST = $ {2: -HEAD}
git rebase $ {COMMIT} ^ $ {COMMIT} --onto $ DEST
normalement, vous voulez compléter automatiquement les noms de branche pour cette commande, alors ajoutez-le en source de cette fonction (en ajoutant à .bashrc ou .profile):
_git_rebaseshot ()
{
__gitcomp_nl "$ (__ git_refs)"
}
git autocomplete le recherchera
vous pouvez utiliser cette commande comme ceci:
# 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
Lorsque vous divisez correctement les entités, les possibilités sont infinies.
* a8f9182 (HEAD -> postgres) Configuration BBDD
* a8f9182 (local) configuration locale
* a8f9182 (débogage) configuration du niveau de journalisation
* nouvelle fonctionnalité a8f9182 (dev)
|
Je suppose que c'est ce que couette gens aiment faire.
cette commande fonctionnera de toute façon avec tout sha / ref que vous fournissez:
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master