頭脳一式

人の記憶なんて曖昧なもの。すべての情報を頭に記憶するなんてナンセンス。困ったらここに来ればいいじゃん?というスタンスで最強のナレッジベースを目指すブログ

git pushできないときの対処方法。[Everything up-to-date]が発生する場合。

この記事ではgit push時にEverything up-to-dateが発生した場合の対処方法をメモしておきます。

問題

git pushコマンドを実行すると以下のとおりEverything up-to-dateと返されるときがあります。 以下がその例です。

xxxxx@DESKTOP-9B1ES0K MINGW64 /c/workspace_test/projecta (develop)
$ git push origin develop
Everything up-to-date

Everything up-to-dateをGoogle翻訳すると「すべてが最新」と訳されます。
これは、ローカルブランチの内容とリモートブランチの内容に差分が無いという意味です。

原因

原因はおそらくコミットのし忘れです。
時間が立つと自分が打ったコマンドを忘れたり、ブランチが今どういう状況なのかを忘れたりしがちです。
そんなときは、git fetch --all → git branch -avvの順で実行してみます。
こうすることで、ローカルブランチとリモートブランチのコミットIDを見ることが出来ます。
以下がその実行例です。

xxxxx@DESKTOP-9B1ES0K MINGW64 /c/workspace_test/projecta (develop)
$ git fetch --all
Fetching origin

xxxxx@DESKTOP-9B1ES0K MINGW64 /c/workspace_test/projecta (develop)
$ git branch -avv
* develop                989073e [origin/develop] add pig
  remotes/origin/HEAD    -> origin/master
  remotes/origin/develop 989073e add pig
  remotes/origin/master  0e1576d Add new file

実行例を見ると、ローカルブランチ(develop)とリモートブランチ(remotes/origin/develop)のコミットIDが「989073e 」で同じだということが分かります。
このように、コミットIDが同じだった場合は、単にコミットのし忘れということになります。

対処方法

対処方法としては単にコミットすれば良いわけなので、いつも通りgit add → git commit → git pushをするだけです。

これでローカルブランチの内容がリモートブランチへ反映されるようになります。

今回は以上です。
お疲れさまでした。