GithubとローカルPCを連携させる手順について記載します。
##どんな人向け?
- Githubのアカウントは持っていて、リポジトリは作成することができる。
- Gitでできることについて、なんとなくは知っている。
- GithubとローカルPCを連携させるとき、いつも手順を忘れてしまい、毎回ググってしまう。
##やり方は大きく2つ
やり方は大きく2つです。
(※他にも色々あるかもしれませんが...この2つさえ覚えておけば問題無し)
1.git clone
を使う
2.git remote add
を使う
####前提条件
上記の通りGitコマンドを使うのでローカルにGitがインストールされている必要があります。
次のコマンドでバージョン情報が返ってくるか確認
git --version
git version 2.30.1
####インストール
もしインストールされていない場合は、まずGitをローカルにインストールします。
Macの場合はHomebrewを使えは簡単にインストールできます。
brew ls #Homebrewを使ってインストールされたパッケージの確認
brew install git
または、公式サイトからインストーラをダウンロードしても構いません
最終的にコマンドラインでgit --version
の結果が返ってくることを確認してください。
##git cloneを使った連携
リモートリポジトリをローカルにコピー(=クローン)します。
リモート側で既に複数回コミットされていてソースコードが存在しているときは、主にこちらを利用します。
Githubのリモートリポジトリとすぐ連携できるのでこの方法が1番簡単です。
####GithubでリモートリポジトリのURLをコピー
Githubで対象となるリモートリポジトリを開き、画面右上の緑色のボタンCodeをクリックします。
Cloneというプルダウンが開いて、URLが表示されていると思います。そちらの内容をコピーします。
####git cloneコマンドの実行
ローカルでgit clone
コマンドを実行します。
クローンしたいディレクトリに移動して、下記のコマンドを実行します。
※リポジトリ名のディレクトリから作成されるのでローカル側で作っておく必要はありません。
実行後、クローンしたリポジトリ名のディレクトリが作成されていることを確認します。
cd /Users/***/git #リポジトリ名のディレクトリが自動作成される
git clone [URL] #[URL]は先程の手順でコピーしたGithubのURL
これで連携は完了です。
####GithubでリモートリポジトリのURLをコピー
Githubでリモートリポジトリを作った後、画面右上の緑色のボタンCodeをクリックします。
Cloneというプルダウンが開いて、URLが表示されていると思います。そちらの内容をコピーします。
##git remote addを使った連携
ローカルのディレクトリ(リポジトリ)と、Githubにあるリモートのリポジトリを連携させるイメージです。
新規でGithub上でリモートリポジトリを作成し最初のローカルと連携させる際は、主にこちらを利用します。
####Githubでリモートリポジトリを作成
Githubで新規リモートリポジトリを作った後、このような画面が表示されます。
基本的にこの流れに沿う形でやれば問題なくローカル連携が可能です。
####リモートリポジトリのURLをコピー
上記画像の「Quick setup - ...」と記載されている箇所にあるリモートリポジトリーのURLをコピーします。
####ローカル側でのセットアップ手順について
まず、上記画像でGithubが出してくれている手順について解説します。
下記の2つの箇所だけ覚えておけば良いです。
...or create a new repository on the command line
こちらは、新しくローカル側でリポジトリを作成して連携する方法の手順です。
...or push an existing repository from the command line
こちらは既にローカルリポジトリがある場合、それと連携する方法の手順です。
基本的にgit init
コマンドがあるかないかの違いになります。
####新規のローカルリポジトリを作成する場合
以下の手順でローカルリポジトリを作成します。
※Github記載の手順そのままですが。。。
mkdir [repository-name] # ローカルリポジトリのディレクトリ作成
cd [repository-name]
git init # ローカルリポジトリの作成(初期化)
git add README.md # ローカルリポジトリにREADME.mdファイルの作成
git commit -m "first commit" # README.mdファイルを作成した時点でコミット
git branch -M main # ローカルに新規ブランチを作成
git remote add origin [URL] # ローカルリポジトリとリモートリポジトリの連携
git push -u origin main # ローカルコミットされた内容をリモートにpush
この一連の手順で、リモートにREADME.md
ファイルが連携された状態となります。
あとは、ローカルで開発を進めて、必要なタイミングで作成したソースコードをcommit
およびpush
すればリモートリポジトリに連携可能です。
####既存のローカルリポジトリが存在する場合
既にローカルリポジトリを作成していて、コードも記載されている場合は、最初のgit init
あたりのコマンドは省略してリモートリポジトリとの連携をすれば良いです。
※これもGithub記載の手順そのままですが。。。
cd [repository-name] # 既にあるローカルリポジトリに移動
git remote add origin [URL] # ローカルリポジトリと、リモートリポジトリとの連携
git branch -M main # ローカルに新規ブランチの作成
git push -u origin main # ローカルコミットされている内容をリモートにpush
リモートリポジトリとの連携状況は次のコマンドで確認します。
git remote -v
origin https://guthub.com/.../.../hogehoge.git (fetch)
origin https://guthub.com/.../.../hogehoge.git (push)
リモートリポジトリの削除は次のコマンドを使います。
git remote rm origin
ちなみに、ローカルリポジトリ一つに対して、リモートリポジトリの連携は複数個あっても問題ありません。
####git remote add時の注意事項
Github側で、初期のリポジトリを作成する際にREADME.md
やLICENSE
の自動作成をしますか?と聞かれます。
リモートでこれらのファイルを作成してしまった場合は、前述のクローンで連携する方法を取った方が良いです。
ローカルに既にコミットがあると、コミット履歴が異なるものとなってしまい、うまくpush
ができなくなります。
##最後に
GithubはOSS活動をしていく上で最低限知っておくべきスキルになるかと思います。
基本的な使い方については今後も色々投稿していきますので、ぜひ参考にしていただければと思います。