はじめに
年末、資格取得と平行で忙しく、楽しく過ごしております。
さて、2回目のGitとなります。
今回は、ロールと権限を追加したプロジェクトをプライベート設定されているリモートリポジトリにプッシュしようと思います。
プッシュするブランチはmainです。
ReaDiscussionAuthorizationTestブランチは特定のURLにて認可処理を行う実装をした際に使用します。
記事の構成は、次回のプッシュをスムーズで行えるよう内容に流れを記載、ハマった事については別途記載しました。
内容
初めに、git statusを使用したら、fatal: not a git repository (or any of the parent directories): .git
→ローカルリポジトリのあるディレクトリに移動してなかった...
mysiteディレクトリに移動し、cd mysiteで該当ディレクトリに移動。
一応、git branch -aにてブランチを確認。
ファイルを追加してgit add ~でインデックスにファイルを登録
git commit -m "..."でコメントを追加しコミット
今回はmainにプッシュするので、pushのパラメータは省き、git push でOK。
ハマった事
初めに、前回上流ブランチを作成したので、そのままgit push origin ReaDiscussionAuthorizationTestを実行したらプッシュが終わ...らなかった。
Everything up-to-date
...なのに、更新されない。
解決
git log --statで確認すると
コミットが(HEAD -> main)のみとなっている。
あれ(HEAD -> main , origin/main)じゃないんだ...となりました。
現在選択しているディレクトリはmysite、ブランチはmain。
HEADは今、作業しているブランチの最新のコミットを指す。
main、ReaDiscussionAuthorizationTestはローカルリポジトリのブランチ。
origin/main、origin/ReaDiscussionAuthorizationTestがリモートリポジトリのブランチ。
HEADはローカルリポジトリにあるブランチmainにある。
mainでadd、コミット、プッシュしたのだから...
元々変更のないReaDiscussionAuthorizationTestをプッシュしても意味がない...
そして、HEAD -> main は単にコミットの履歴なのでプッシュと関係はない。
原因の特定ができました。そして、一番初めのプッシュの話に戻ります。
--余談--
git statusをホームディレクトリで使用すると
[Q&A] コマンド$git statusを入力 エンターした後、理解できない文字列が出てきます - Qiita
とでる。
間違ってgit init してしまった場合は、追加された.gitを削除できるとの事
感想
見苦しい過ちが多かったです。
ワーキングツリーやリポジトリーの概念がごっちゃになっていたり、一連のコマンドの理解が浅かったと思います。
その整理ができたのは良かったです。
気を付ける事は3点
・今、どこで作業しているのか
・そのコマンドは、どこに何をするものなのか
・そのコマンドで、他に影響はないか
全然関係のない話
亡き祖父の昭和史10巻ほどを持ち帰っていたので、ふと、太平洋戦争後期から読んでいました。
写真付きでアッツ島やガダルカナルといった聞いた事のあるエピソードがより詳細に書かれているので、興味深いです。また、戦地のみならず、政治も含めた一連の歴史を事細かに記載しているため、近代史そのものという感じがします。
この白黒写真に写るボロボロの軍服を着ていて、笑顔で国からの手紙を読むキスカ守備兵達の顔が、現代人と全く同じことに不思議な感覚を覚えます。
ディスカバリーチャンネルで戦車の歴史や戦艦の砲撃の弾道解説といった第二次世界大戦特集を観ていた15の夏をふと思い出しました。
近代史の他、日本史は戦国や幕末あたり、世界史は全般的に好きなので、ちょっと寝る前に読もうと思いました。