🙆
【Git】fatal: No remote for the current branch. エラーの対処法
出現した問題
- リモートの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()
で揃えて終わり
Discussion