事件発生
あ、コンフリ起きてる、よしなおそう!
よし治った!
git push origin CurrentBuranch
いざ!実行!
あれ?
なんかcommitログがありませんだって⁉︎なんぞ?
私コンフリを直してpushしたいだけですけど?
とりあえず自分が何をやっていたかを確認
何が起こったかわからなかったのでとりあえず自分が今までどこで何をしていたかを確認することにしました。(※これ以降の話を聞くと気づく人速攻で気付きます。こいつはバカだ!ということに…誰がバカじゃい!)
なんか聞こえたけど進めていきましょう。
私が行ったことは......
1. ファイルをpushする
2. なぜかpullrequestを見に行った
3. コンフリクトに気づく
4. どこがコンフリしてるかweb上で確認した
5. web上で直した
6. shellに戻る
7. pushする
8. gitさん『お前さんのcommitLogないで〜』
9. 私『は?』
ってことがあったような気がする(ありました!)
もう気づく人は気づきましたよね!
そうです!私はいつもならエディタ上でコンフリを治すのにこの日はなぜかwebのgithub上でコンフリを直したんです。そしてそこでなぜかshellに戻りいつものようにpushしたんです。そりゃgitさんが怒るわな!
何が起こっていたのか
web上のgithubでコンフリを直したことでmyPCのローカルブランチの外で直したことになります。つまりGitHubの更新履歴がローカルに取り込めていないという状況が出来上がっているんです。
これにより自分がいくらpushしてもそんなものはないと怒られるんです。いや〜アホですね!
まぁ何はともあれ原因さえわかってしまえばこっちのもんだ!
どう直したか
結論から言います!!
GitHubから自分のブランチの変更点を持って来ればいいのです。
つまり
git pull origin CurrentBuranch
このコマンド打ち込んで差分をひっぱてきました。
以上!
終わり!
ちゃんと解説しますね
先ほども述べたように自分のパソコンの中ではweb上での更新点がないことになっています。これではいつまで経ってもpushはできません。何せPC内ではcommitしてないことになっているのですから。そこでGitHubと自分のPCのbranchの状態を同じにすることが必要になります。よって上のコマンドを打つことでGitHubのCurrentbranchの状態を自分のPCに持ってくるのです。
GitHubが先行する状況が出来上がってるとは思いませんでしたね