Mac(M1/Apple silicon)でGit&Githubを使用したローカル&リモートリポジトリを作成する方法覚え書き。
読み飛ばしてOKのまえがき 現在、私はFlutterでアプリ開発にチャレンジしています📱 その開発内容もgit&githubで管理していきたいなと思いました。アプリ開発をしているのは、iPhoneの実験もしたいことから、Mac機を使用しています。環境構築済みのWindows機ではないので、新たに環境構築が必要となります。 一度、Git&Githubの本で一通り実施したので、それ程詰まらずに進めることができるだろうと思っていたのですが、思ったより時間を要してしまいました。 今後も新たなPCでGit&Githubの環境構築をすることがあると思いますので、その方法をまとめておきたいと思います。 注意事項? 全てCLI前提(Mac標準搭載のターミナル)で書いていきます。M1💻と記載しましたが、Apple silicon系であれば内容は同じと思われます。また、Windowsでも、パッケージマネージャー入れたり(必須ではない)、コマンド実行したり、流れや内容は概ね一緒かと思います。 実行手順 Homebrew🍺をHPにアクセスしてインストールする。PATHが追加されていない場合(インストール時にwarningが出る)、Users/ユーザー名/に.zshrcを作成する。.zshrcにexport PATH=/opt/homebrew/bin:$PATHを追記する。下記を実行して、追記内容を反映させる。 ※インストールしただけではPATHが登録されないのはM1の仕様みたい。 ※Homebrewインストールの参考ページ →Homebrewのインストール source .zshrc 下記を実行してバージョン情報が確認できれば問題なし。 brew -v 下記でパスの設定状況を確認するのも良い。 echo $PATH gitをインストールし、ユーザー名とパスワードを登録する(Githubと合わせる必要は特段無い)。下記を実行。 brew install git git confg -- global user.name ユーザー名 git confg -- global user.email メールアドレス 下記を実行すると、設定した内容を確認できる。特に問題なければOK。 git config --list Githubをリモートリポジトリに設定する為に、SSH Keyを設定する。任意のフォルダ(ユーザー名/など)で下記を実行して秘密鍵/公開鍵を作成する。-c "内容"を追記して実行すると、鍵にコメントが追記できる。コメントとしてメールアドレスを追記する作法があったようだが、特段必要は無いと思われる。-f "内容"を追記して実行すると鍵のファイル名を設定できるが、これも必須では無い。ファイル名を設定した場合は.sshフォルダ configファイルを作成してファイル名等を記載する必要がある。 ※ed25519は暗号化の種類。 ssh-keygen -t ed25519 鍵の置き場所を聞いてくるので、カレントディレクトリで問題無ければそのままENTERを押す。設定するパスフレーズを2回入力する。 ※パスフレーズはパスワードの対応文字数が多いバージョン。また、文字にスペースを設定可能。尚、フレーズ=単語を入力しろということではない。 ディレクトリ内にid_ed25519(秘密鍵)とid_ed25519.pub(公開鍵)が作成されていればOK。公開鍵の内容をコピーするために下記を実行する。Finderで直接開いて、内容をコピーしても同じ。 pbcopy < id_ed25519.pub GitHubにアクセスして、Settings→SSH and GPG keys→New SSH keyをクリック。TitleにはPCの種類等を記載して、Keyには公開鍵の内容をペーストする。Add SSH keyをクリックして、Github上の鍵の設定は完了。下記を実行する。 ssh -T git@github.com 実行の可否を聞いてくるので、yesと入力。Hi~と出てくればSSH keyの設定はOK。 Github上でリモートリポジトリを作成する。作成したリポジトリのSSH用URL(NOT https)をコピーしておく。 リモートリポジトリとローカルリポジトリを接続する。下記を実行。 git remote add origin SSH用URL ローカルリポジトリを作成したいディレクトリを移動する。下記を実行しローカルリポジトリを作成する。 git init Gitでadd→commit→pushを実行し、ローカルリポジトリの内容をリモートリポジトリに反映させる。下記を実行して、Gitのインデックスに登録(Git管理の対象になる)。 git add ....