git rebase fatal: besoin d’une seule révision

J’ai une twig d’un référentiel public et j’essaie de mettre à jour ma twig avec les commits actuels du référentiel d’origine:

$ git fetch  remote: Counting objects: 24, done. remote: Compressing objects: 100% (20/20), done. remote: Total 20 (delta 12), reused 0 (delta 0) Unpacking objects: 100% (20/20), done. From git://github.com/path_to/repo 9b70165..22127d0 master -> $/master $ git rebase  fatal: Needed a single revision invalid upstream  

Le est à la place de mon nom distant et n’est pas réellement mon nom distant. La documentation sur cette erreur semble être un peu lâche.

Vous devez fournir le nom d’une twig (ou d’un autre identifiant de validation), et non le nom d’une télécommande à git rebase .

Par exemple:

 git rebase origin/master 

ne pas:

 git rebase origin 

Remarque, bien que l’ origin doive se résoudre à la référence ref d’ origin/HEAD lorsqu’elle est utilisée comme argument où une référence de validation est requirejse, il semble que tous les référentiels ne bénéficient pas d’une telle référence. C’est payant d’être explicite.

Vérifiez que vous avez correctement épelé le nom de la twig . Je reformulais une twig d’histoire (c’est-à-dire branch_name ) et j’ai oublié la partie histoire. (ie story/branch_name ) et puis git crache cette erreur chez moi ce qui n’a pas beaucoup de sens dans ce contexte.

Je me suis heurté à cela et je me suis rendu compte que je n’étais pas allé en amont avant d’essayer de me rebatir. Tout ce dont j’avais besoin était de git fetch upstream

Le problème est que vous avez dérivé une twig de …. où vous essayez de vous rebaser. Vous ne pouvez pas revenir à une twig qui ne contient pas la validation sur laquelle votre twig actuelle a été créée à l’origine.

J’ai eu ceci lorsque j’ai d’abord rebasé une twig locale X sur un Y poussé, puis j’ai essayé de rebaser une twig (créée en premier sur X) en poussant un Y.

Résolu pour moi en revenant à X.

Je n’ai aucun problème à modifier les twigs distantes (potentiellement non vérifiées), à condition que ma twig actuelle provienne d’un ancêtre de cette twig.

Pour origin distante:

 $ echo "ref: refs/remotes/origin/master" > .git/refs/remotes/origin/HEAD 

Je git rebase par erreur git rebase quand je voulais dire git bisect . Assurez-vous que vous utilisez la commande que vous attendez!