🫠

Git リモートリポジトリ

2023/01/22に公開

リモートリポジトリへ送信 概要を知ろう

GitHub
実務で一番使われる可能性が高い

GitHubのリポジトリ

  • Publicリポジトリ(無料プラン・有料プラン)
    リポジトリがインターネットに公開される

  • Privateリポジトリ(無料プラン・有料プラン)
    リポジトリは本人と、許可した人のみ使用できる

Publicリポジトリ利用時の注意点

  • インターネットに公開されるため、公開する必要がない商用サービスのソースコードなど
    公開してはいけないソースコードの管理に使うことはやめましょう

  • 個人情報、機密情報、認証情報など、重要な情報も載せないように注意

リモートリポジトリを作成しよう

GitHubにログインした状態から始める

新しくリポジトリを作成
Create a new repository または new ボタン

リポジトリを作成する画面
オーナーは各自のGitHubのアカウント名が表示される
リポジトリネームには日本語は使わない

Descriptionには任意でリポジトリの説明が書ける

リポジトリのタイプを選択する

  • Public
  • Private


Initialize this repository with:
この手順ではチェック入れない

Add .gitignore
Choose a license
は今回はNoneにしておく

Create repository

リモートリポジトリの作成が完了!
開かれたページは後で使うのでそのままにしておく

GitHubにSSH keyを設定しよう

公開鍵認証
ユーザー認証で、パスワードを使う代わりに

  • GitHub側に、公開鍵を配置
  • ローカル環境側に、秘密鍵を配置
  • 認証を行うことで、パスワード認証よりもセキュアな認証を行う

注意事項
秘密鍵はパスワードと同様に厳重に管理!

VSCのターミナル

ssh-keygen -t rsa -b 4096 -C "GitHubで登録したメールアドレス"


キーのファイル名を求められたらエンターキーをおす
こうするとデフォルトのファイル名となる

次にパスフレーズを入力する
この鍵を使って認証を行うにはパスフレーズが必要になる
万が一、秘密鍵が悪意のある第三者に渡っても
パス付パスフレーズがわからないと認証を行えない!
入力しても何も表示されないがエンターキー

再度同じパスフレーズを入力

これで公開鍵と秘密鍵が作成された

ファイルの確認

ls ~/.ssh/


公開鍵
id_rsa
秘密鍵
id_rsa.pub

公開鍵をGitHubに登録

まず公開鍵をコピー

cat ~/.ssh/id_rsa.pub


公開鍵が表示される

GitHubのユーザーのアイコンをクリック
Setteings
SSH and GPG keys
SSH keysのNew SSH key
タイトルに名前をつける(ユーザーがわかればOK)

キータイプはAuthentication Key

キーに公開鍵を貼り付ける

Add SSH Keyをクリック
登録が完了

後で削除したい場合はデリートボタンを押す!
SSH keyは複数登録できるので開発環境ごとにキーを変えることもできる

動作確認

ssh -T git@github.com


本当に接続して良いか?
yes

鍵を設定するときに作ったパスフレーズを入力
You've successfully authenticated
認証が成功されたと表示されればOK!

リモートリポジトリへプッシュしよう

ローカルリポジトリから、GitHubのリモートリポジトリにプッシュする一連の操作を実行できる

  • ローカルリポジトリからGitHubのリモートリポジトリにプッシュ
  • git pushコマンドを利用

VSCのターミナル
ローカルリポジトリのリモートリポジトリとしてGitHubで作成したリポジトリを登録するには
git remote addコマンドを使う

GitHubのリモートリポジトリを開く
SSHが選択されていることを確認してコピーボタンを押す

git remote add origin リモートリポジトリをコピペ


リモートリポジトリの登録が完了!

git branch

でmainブランチが選択されていることを確認

ローカルリポジトリの内容をリモートリポジトリに送信

git push -u origin main


SSHキーに設定したパスフレーズを入力

GitHubのページへ移動しリロードすると内容が変わっている
リモートリポジトリへファイルがアップロードされていることが確認できた

リモートリポジトリへプッシュしよう2

  • mainブランチ以外へのpushができる

ターミナル
ブランチを作成

git checkout -b ブランチ名

git branch

ブランチが作成されているか確認

このローカルリポジトリをリモートリポジトリへ同じ名前のブランチ名でプッシュするには

git push -u origin ブランチ名


SSHキーのパスフレーズを入力

プッシュができた

GitHubのページで確認すると
ブランチの数が増えている

リモートリポジトリをクローンしよう

リモートリポジトリをクローンできる

  • リモートリポジトリの内容を手元のローカル開発環境に持ってくる
  • git clone コマンド

ターミナル

git clone リポジトリのURL


GitHubのページからコピー
CodeのCloneでSSHがが選択されていることを確認
下のテキストをコピペ

このまま実行してしまうとリポジトリを格納するディレクトリ名が一緒のままなので
URLの後にスペースを入れて _2 など違うディレクトリ名にする

パスフレーズを入力

確認

cd ディレクトリ名
ls


クローンが行えたことが確認できる

リモートリポジトリからプルしよう

リモートリポジトリからプルを実行できる

  • git pushした内容を、手元のローカルリポジトリに反映。
  • git pullコマンド

例えば、他の開発者Bさんがgit pushした内容を
自分の手元のローカルリポジトリに反映するには
git pullコマンドを使う

流れ
他の開発者がgit pushしたと仮定した操作

git checkout -b other-developper


新しくファイルを作成

touch other.js(ファイル名)


ファイルを編集

console.log('other-developper');


ファイルを保存してコミット

git add other.js(ファイル名)

git commit -m "add other.js(ファイル名)”

mainブランチにマージを行う

mainブランチに移動

git checkout main


other-developperブランチをmainブランチにマージ

git merge --no-ff other-developper


コミットメッセージを編集する画面が表示される
デフォルトでOKなので保存して終了!
:wq

グラフを確認

git log --graph


リモートリポジトリにプッシュしていく

git push -u origin main


パスフレーズを入力
プッシュが完了!

GitHubのページでリポジトリのページをリロードすると
ファイルが追加されていることが確認できる!

続いて、自分の手元のローカルリポジトリを想定した操作
mainブランチに切り替える

git checkout main


コミットグラフを確認

git log --graph


自身のローカルリポジトリにはother.jsファイルはなく、
リモートリポジトリから遅れてしまっている

リモートリポジトリから最新情報をローカルリポジトリに
持ってくるコマンド

git fetch origin

パスフレーズを入力

差分を確認

git diff origin/main

リモートリポジトリとの差分を確認することができる

リモートリポジトリと同期して追いつくには

git pull


パスフレーズ入力

ls

other.jsファイルが追加されていることが確認できる

リモートリポジトリとの差分を確認

git diff origin/main

差分がないので何も表示されない!

コミットグラフも確認

git log --graph


other.js作成の操作に関するログが表示される!

このように、リモートリポジトリであるGitHubを使うことで
複数の開発者でソースコードを共有しながら開発を行うことができる!


今日はGitHubも活用した!
やっぱりわからないこと出てきたときに聞ける人がいるのは心強いな
打ち間違い多いから気をつけよう😌
来週もパワーー

Discussion