La réponse de @Charles est correcte. Quoi qu'il en soit, j'ai fini par l'utiliser de nombreuses fois, surtout pour rebaser une configuration spécifique sur un projet.
\* a8f9182 (HEAD -> production) production configuration
| \* daa18b7 (pre) preproduction configuration
|/
| \* d365f5f (local) local configuration
|/
\* 27d2835 (dev) amazing new feature that will save the world
\* | 56d2467 (master) boring state of the art for project
|/
que je crée une nouvelle commande pour ça :
$ cat ~/bin/git-rebaseshot
COMMIT=$1
DEST=${2:-HEAD}
git rebase ${COMMIT}^ ${COMMIT} --onto $DEST
Normalement, vous voulez que les noms de branches soient autocomplétés pour cette commande, alors ajoutez-la en utilisant cette fonction (en l'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 les caractéristiques correctement, les possibilités sont infinies.
\* a8f9182 (HEAD -> postgres) BBDD config
\* a8f9182 (local) local config
\* a8f9182 (debug) log level config
\* a8f9182 (dev) new feature
|
Je suppose que c'est ce que édredon que les gens aiment faire.
cette commande fonctionnera de toute façon avec le sha/ref que vous fournissez :
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master