🙆

【Git】fatal: No remote for the current branch. エラーの対処法

2022/12/22に公開

出現した問題

  • リモートのfeature(作業)ブランチが見つからない
  • pushする前にpullしてみると
From [https://github.com...]
 * branch            HEAD       -> FETCH_HEAD
Current branch feature/... is up to date.

ってなって現在のブランチはup to date されてまっせ。ってなってる

  • git push origin HEADすると、non-fast-forwardエラー。
error: failed to push some refs to [...]
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • git log --onelineを見てみる
commit番号 (HEAD -> featureブランチ) ”コミット”
commit番号 (origin/develop, origin/HEAD) ...
commit番号 ...
commit番号 (develop)...

origin/featureブランチ が無い。追跡できてない感じ?と思った。

成功した対処法

  • git merge origin/featureブランチで追跡できる。→git mergeを行う
Auto-merging とあるファイル名
CONFLICT (content): Merge conflict in とあるファイル名
Auto-merging in とあるファイル名
Auto-merging in とあるファイル名
Automatic merge failed; fix conflicts and then commit the result.
  • コンフリクトが起きたみたいだが、直していく。git stコマンドで以下みたく出てくる。
On branch featureブランチ
All conflicts fixed but you are still merging.(コンフリクト解消済みだが、マージ完了していない)
  (use "git commit" to conclude merge)

Changes to be committed:
        modified:   とあるファイル名
        (コミットする)
  • git log --onelineで見てみると
コミット番号 (HEAD -> featureブランチ) コミットメッセージだよ
コミット番号 (origin/featureブランチ) Merge pull request プルリク
コミット番号 (origin/develop, origin/HEAD) ...
コミット番号 ...
コミット番号 ...
コミット番号 ...
コミット番号 ...
  • origin/featureブランチの部分があり、リモートのfeatureブランチが追えていることがわかる。
    最後にgit push origin HEADして終了。綺麗に揃いました

結論

リモートの作業ブランチが見つからない時は

1. git pull origin HEAD(先にリモートに合わせる)

それが無理、リモートブランチが追えていない時は

2. git merge origin/featureブランチ

でローカルに反映する

最後に

3. git push origin HEAD()

で揃えて終わり

GitHubで編集を提案

Discussion