force fowardの話 〜初めてのreject〜

More than 1 year has passed since last update.


これはなに?

今日始めてGitにRejectを受けました。かなしい。

その際に受けた屈辱から書きなぐる。


なにをしたか?

githubにbranchだけpushしておいたけれど、commitが細かすぎたのでlocalでgit reset してcommit作り直してpushした。


なにがおきたか?

conflictした。

git pullして直せって言われた。あとは↓


non force foward

エラーを見たら、force fowardじゃないからだめって言われました。つまりnon force fowardということだ。


force fowardって?


  • 要するに、一番単純なGitのブランチの形から一つだけ離れた状態のこと。


    • 一番単純なGitブランチって?



master o-o-o-o

_人人人人人人人人_
> masterしかない <
 ̄Y^Y^Y^Y^Y^Y^Y ̄


  • じゃあ次に単純なブランチの形は?

topic          o-o-o

/
master o-o-o-o

_人人人人人人人人人人人人_
> masterとtopicしかない <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄


  • ここで注意したいのは、master ブランチの一番先をチェックアウトして新しいブランチを作っていることです。単純だね。railstutorialなら毎回章ごとにこういうことをやっているはずだ。


  • force fowardとは、この2つめの状態のこと。つまり元のブランチの一番先からブランチを作成した状態であること。

    * この逆を取って、これ以外の状態をnon force fowardという。

    * ↓一番単純なforce fowardでない例。


topic          o-o-o

/
master o-o-o-o-o-o-o


解決策。

とりあえずリモートのブランチとconflictしており、リモートのブランチは自分しか使っていなかったので、リモートブランチを削除して再度pushした。