Gitでfatal: invalid upstream ‘HEAD~が出る原因とは?

Gitでリベースを行うときに「fatal: invalid upstream 'HEAD○○’」(○○は数字)と出てしまう場合があります。

今回はGitのリベースでfatal: invalid upstream 'HEAD~が出る原因についてご紹介いたします。



Gitでfatal: invalid upstream 'HEAD~が出る原因とは?

Gitでfatal: invalid upstream 'HEAD~が出る原因とは?

結論から言うと、「fatal: invalid upstream 'HEAD○○’」と出てしまう原因はリベースを行うときに履歴をさかのぼりすぎているのが原因です。
〇〇には数字が入るかと思いますが、例としてコミットの数が5個しかないのに「git rebase -i HEAD~6」と入力してしまうと「fatal: invalid upstream 'HEAD~6’」というエラーが出てしまいます。

しかし、コミットが5個で「git rebase -i HEAD~5」と打っているのにエラーが出てしまうことがあります。
これは一番最初のコミットも数に数えてしまっているのが原因です。
git rebaseの性質上、一番最初のコミットは指定できないらしいです。
なぜかというとgit rebaseは修正したいコミットの親コミットを指定するという処理を行っていますが、最初のコミットには親コミットが無いので指定できないからです。

そういうときは

とコマンドを打つとrootからさかのぼってリベースを指定できます。
先ほどのコミットの数が5個しかない例では、「git rebase -i HEAD~〇〇」で4以下の数字を指定するか、

とコマンドを打つとやりたいことができるかと思います。

終わりに

今回はGitのリベースでfatal: invalid upstream 'HEAD~が出る原因についてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Git

Posted by ちこ