GitHub #1 初心者編
GitHubとは
プログラムのソースコードをオンラインで共有・管理するサービス
基本概念
リポジトリの管理
プロジェクトのファイルとその変更履歴を保持する場所
パブリックリポジトリ
誰でもアクセスして内容を閲覧、コピー、ダウンロードできるリポジトリ
オープンソースプロジェクトによく使用される
プライベートリポジトリ
アクセス権を持つユーザーのみが内容を見ることができるリポジトリ
企業や個人の非公開プロジェクトに使用される
ローカル
作業をしているPC上にある情報 他の人から干渉されない
リモート
インターネットまたはネットワーク上のどこかに上がっているサーバー上の情報
コミット
特定の地点のファイルの状態を記録保存する一連のプロセス
ブランチ
コードの開発を分岐させ、異なる機能や修正を同時に独立して行うための機能
- 並行開発 複数の機能やバグ修正を同時に進めることができる
- リスクの分離 リリース用のブランチを分けることで破壊する危険性を分離できる
Pull Request
あるブランチをマージする時にマージしたいブランチの変更が妥当なものなのかをチームで議論、調整、レビューし合うためのリクエスト
- バグがないか
- チームとして見やすいものか
- 規則に従っているか
レビュー者がOKを出したら合体することができる
Fetch
マージしたときなどリモートのブランチが新しくなった時にローカルに最新版の情報を反映する方法
Pull
fetchした値を実際に自分のローカルブランチに反映させること
Clone
他人が作業したリポジトリを自分のPCにコピーする作業
チーム開発ではプロジェクトのリポジトリをクローンして自分の作業を始める
初期設定
Gitのインストール
https://gitforwindows.org/ からインストーラーをダウンロード
インストーラーの手順に沿ってインストール
アカウント作成
https://github.co.jp/ でアカウント作成&登録
リモートリポジトリを作成
GitHubの管理画面で「Create Repository」
- Repository name : リポジトリの名前
- Public / Private : リポジトリの公開・非公開を選択
- Initialize this repository with : : 他の人がリポジトリへアクセスした場合の参照用として「READ ME」ファイルを設置したい場合はチェックをいれる
ローカルのリポジトリを作成
-
PC上にディレクトリを作成
mkdir ディレクトリ名 cd ディレクトリ名 -
作成したディレクトリをローカルリポジトリに設定
git init作成が完了すると以下のように表示される
Initialized empty Git repository in C:/Users/XXX/XXX/XXX/.git/
基本的な使い方
ローカルリポジトリにコミット
保存したファイルはリポジトリには追加されていない
→コミットする必要がある
-
どの変更を保存(コミット)するのか選んで、変更したファイルをインデックス(変更内容を一時的に保存しておく場所)(ステージングエリア)へ追加
→ステージング
git add ファイル名 -
インデックスに追加したファイルをコミット(ローカルに記録)
この時点ではリモートには記録されていない
git commit -m "Add ファイル名" -
コミットメッセージを含む変更履歴を確認
git log
リモートリポジリにプッシュ
ローカルリポジトリとリモートリポジリにプッシュ
ローカルに記録した変更をインターネット上に上げる作業
-
ローカルリポジリで以下を実行
git remote add origin https://github.com/ユーザー名/リモートリポジリ名.git -
紐付け完了後、以下のコマンドでプッシュを実行
git push origin ブランチ名→GitHubの認証画面が表示され、ログインする
→完了
ブランチの作成
-
ブランチの作成
git branch ブランチ名 -
ブランチが正常に作成されているか確認
git branch成功していたら以下のように表示される
*main ファイル名 -
ブランチの移動
git checkout ファイル名再度ブランチの状況を確認
git branch以下のように表示される
main *ファイル名
ブランチにプッシュ
ブランチにプッシュするコマンドはリモートリポジリにプッシュする方法と同じ
-
ブランチに移動した状態で以下を実行
git add ファイル名 git commit -m "Add ファイル名" -
変更内容をリモートリポジリに反映
git push origin ブランチ名→GitHubのリポジリ画面を確認すると、ブランチが作成されている
ブランチからプル
共同で作業している他開発者がxxxブランチで開発を行う場合は、プルコマンドを実行
(他開発者が同じGitHubのリポジリで作業をしており、他開発者の端末での作業をしているケースを想定)
-
ブランチへ移動
git checkout ブランチ名 -
ブランチからプル
git pull
ブランチのマージ
-
mainブランチへ移動
git checkout main -
ブランチの作業内容をマージ
git merge ブランチ名→以下のように表示されブランチで作成したファイルが追加されたことが確認
⚪︎ file changed, ⚪︎ insertions (+) create mode XXXXXX ファイル名 -
GitHubにプッシュ
git push origin main→マージの完了
ブランチを削除
役割を終えたブランチを削除
-
ブランチを削除
git branch -d ブランチ名 -
結果の確認
git branch→以下のように表示
*main -
GitHubのリモートリポジリからもブランチを削除
git push --delete origin ブランチ名
Fetch
ローカルに最新版の情報を反映
-
リモートのすべてのブランチの最新情報の取得
git fetch origin※あくまで情報を持ってくるだけであってローカルのブランチを最新版に更新するわけではない
Pull
fetch後に自分のローカルブランチに反映
git pull origin リモートのブランチ名
Clone
自分のPCにリポジリをコピー
git clone リポジリのURL
リモートリポジリとローカルリポジリを繋げる
echo "# リポジリの名前" >> README- md git init
git add README. md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ユーザ名/リポジリ名 .git
git push -u origin main
Gitのキャッシュの消し方
git rm -r --cached .
git add .
git commit -m "fix: refresh gitignore rules"
git push
Memo
- ローカルのリポジリをリモートのリポジリに繋げた後にローカルのリポジリの場所を移動しても問題ない
- GitHubはリポジリ内の.gitというファイルを元に動作する
- .gitは隠しファイルであるため普段は表示されない
Discussion