【git】non-fast-forwardとは?git pullやgit pushで発生する解決方法

2024年2月25日Git

git
ミニマリスト_カミ

kamiです。
TwitterYoutubeもやってます。

git non-fast-forwardエラー

git push -u origin develop
Enter passphrase for key '/Users/ユーザー名/.ssh/id_rsa': 
To hoge.git.backlog.com:/ディレクトリ名/リポジトリ.git
 ! [rejected]          develop -> develop (non-fast-forward)
error: failed to push some refs to 'hoge.git.backlog.com:/ディレクトリ名/リポジトリ.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

git non-fast-forwardとは?

ブランチ一覧

  • master
  • develop
  • feature/branch
icon

ブランチを作ると以下のような構造になります。

master ━┓━━━━━━━━━━━━━━━━━━
    develop ━┓━━━━━━━━━━━━━━
feature/branch ━━━━━━━

masterブランチがあります。
開発用にmasterブランチからdevelopブランチを切ります。
機能別でfeature/branchを作ります。

feature/branchをコミットしてpushします。
feature/branchへのコミットはfeature/branchにpushです。
この時にdevelopにpush使用すると「non-fast-forward」のエラーが発生します。

発生原因は「feature/branchへのコミット」を「developにもコミットを行う」場合です

スポンサードサーチ

対策

git pull

git pull origin YOUR_BRANCH_NAME

git fetchとgit merge

git fetch origin
# Fetches updates made to an online repository
$ git merge origin YOUR_BRANCH_NAME
# Merges updates made online with your local work

push

×:git push origin develop
○:git push origin feature/branch

developにpushではなくfeatureブランチへpushする

スポンサードサーチ

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

Twitterからの連絡だと確実ですよ。

オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。

Web開発で分からない時

オンライン完結型スクール DMM WEBCAMP PRO

アプリ開発で分からない時

プログラミング×稼げる副業スキルはテックキャンプ

プログラミングについて分からない時

【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。
ミニマリスト_カミ

僕への個人でもメンターでも、スクールでもお好きな方を活用ください。

GitGit

Posted by kami