あらまし
予めGitHub上で作成しておいたGitHubPagesのリポジトリに対して、新たなローカルリポジトリ(今回の場合全く別の場所にあるディレクトリ)を結びつけた際に、大変な苦労と一部ファイルの損失(バックアップのおかげで全損は免れました)があったので、解決に向けて行った過程を残しておこうと思います。
動作環境は、MacOS 10.15.7 です。
ちなみに自分はGit初心者です。よろしくお願いします。
最初にやりたかったこと(思い描いていた理想の動作)
remoteコマンドでリモートとローカルを結びつけた後、add→commit→pushと行きたかった。。
# 1. 結びつけたいディレクトリをgit配下に置く
$ git init
# 2. リモートに結びつける(ssh接続)
$ git remote add origin git@github.com:ユーザ名/リポジトリ名.git
# 私の場合
$git remote origin git@github.com:sts11142/sts11142.github.io.git
# 3. ステージング
$ git add *
# 4. コミット
$ git commit -m 'demo commit'
# 5. プッシュして完了
$ git push origin main
つまずいた箇所
No1: 2. リモートに結びつける(ssh接続)
今回はssh接続で通信した訳ですが、まずこれがうまく行きませんでした。
と言っても、ssh用の設定をしなければならないことは以前から知っていましたし、設定方法の解説記事も沢山あったので特に苦労もなく解決しました。
具体的な方法はこちらの記事を参考にさせていただきました。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
公開鍵をGitHub上にアップする際の"Title"欄は、自分で分かるように適当に決めてください。
なお自分の場合、鍵をアップした後そのまま接続がうまくいったので、接続確認以下の手順は行なっていません。
そして再度 $ git remote add ...
のコマンドで無事リモートとローカルを結びつけることができました。
No2: 5. プッシュ
ssh接続がうまくいき、ステージングとコミットまではいけたのですが、pushの部分でエラーが出ました。
エラーログを残し忘れたので再現が難しいのですが、原因を探していたところ$ git rebase
云々という方法があるらしいということで試してみました。
試す中でもエラーが出て、pullやfetchなど色々行なった挙句、よく分からなくなったので$ git rebase --abort
で最初の状態に戻そうとしたところ、一部のファイルが消失してしまいました。
幸いバックアップがあったので難を逃れましたが、本当に焦りました。
最終的には、GitHubに直接ファイルをアップロードしてから$ git pull
してadd→commit→pushと行いました。
最後に
エラーの解決方法を残すつもりが、よく分からないまま作業していたせいで結局何も有益な情報を共有することができませんでした。
今回の結果を踏まえて、状態の整理とエラーログを残すことの大切さを実感したので、今後は再現性を意識して作業(エラーの対処)に取り組んでいこうと思います。
ここまで見てくれてありがとうございました。