はじめに
GitHubの基本を学び、実際の開発の流れを体験したので、復習も兼ねてまとめました。
この記事は、いつでも見返せる備忘録として、Git/GitHubの一連の作業手順を整理したものです。
この記事で学べる事
Gitの基本操作である以下の手順を実践形式で学べます。
git clone
:リポジトリの複製
git branch
:ブランチの作成・切り替え
git add / commit / push
:変更の反映とリモートへの送信
Pull Requestの作成とマージ
git pull
:リモートの変更を取り込む
開発環境
OS:Windows
ターミナル:Windows PowerShell
1. Githubのリモートリポジトリからcloneを行う
まずはGitHubで対象リポジトリを作成し、「Code」ボタンからURLをコピーします。
PowerShellで作業ディレクトリへ移動
例:Desktop に git_basic フォルダを作成して移動。
コマンド: cd ~/Desktop/git_basic
git clone を実行
例: git clone https://github.com/ユーザー名/リポジトリ名.git
コマンド: git clone コピーしたURL
クローンできたらディレクトリを移動します
コマンド: cd リポジトリ名
2. ブランチを作成して機能を追加する
現在のブランチを確認
コマンド:git branch
初期状態では main または master ブランチが表示されます。
新しいブランチを作成(例:feature/login)
コマンド: git branch feature/login
ブランチを切り替える
コマンド: git checkout feature/login
vsCodeで作業ディレクトリ(C:\Users\pc\Desktop\git_basic\git)を開いてください。
新しい機能を追加します(今回は直接login.phpを作成)
Windows PowerShellへ戻ります。機能の追加ができているか確認を行います。 コマンド: git status
Untracked files:へ先ほど作成したファイルが表示されていたらokです。
ステージングを行います。 コマンド: git add login.php
add以降は各々追加したファイル名へ置換お願いします。
git add .
でも可能ではあります。
ステージングができているか確認を行います。 コマンド: git status
Changes to be committed: となっていればステージング完了です。
コミットを行います。 コマンド: git commit -m "ログイン機能を追加しました"
""の中は適切なメッセージ内容を入力してください
リモートリポジトリへpushを行います。 コマンド git push origin feature/login
origin はリモートリポジトリの名前(通常は「origin」になっています)
feature/login は今作業しているブランチの名前です
もしここでpushがうまくいかない時には、git remote -v
でgitとの連携状況を確認します。
https:// ではなく、git@github.com:~.git のような SSH接続 に変更してみる。
そのために SSHキーの設定 を行うと、接続が安定することがあります。
4. pullrequestを行う
Githubでの操作を行っていきます。
上記のpushが成功していたら以下のような画面になっていると思います。
Compare & pull requestをクリックします。
Create pull requestをクリックします
本来であればリーダーがmergeを行うのですが今回は一人なのでMerge pull request -> Confirm mergeをクリックしmergeをしてしまいましょう。
以下のようにリモートリポジトリへ機能を追加できていればokです!!
5. ローカルリポジトリへ最新のデータを取り込む (使うコマンド: git pull)
リモートリポジトリ(GitHub)からローカルリポジトリへ最新のデータを取り込んでいきます。
チーム開発では、他人のコードがGitHub上へ更新されていきます。そのためこの作業が必要となります。
まずは、branchを切り替えます。
コマンド: git checkout master
リモートリポジトリのデータをmaster branchへ取り込みます
コマンド: git pull origin master
Vscodeでlogin.php(追加機能)が確認できれば、完了です。
おさらい
一連の動作をもう一度確認していきます。
1: Githubのリモートリポジトリからcloneを行う git clone codeのurl
2: branch作成: git branch 機能名
3: branch移動: git checkout 機能名
4: Vscodeで機能を追加
5: ステージング: git add 追加ファイル
6: コミット: git commit -m "適切なメッセージ"
7: プッシュ: git push -u origin 機能名
8: Github上でpullrequestを行いmargeしてもらう(今回は自分でmargeする)
9: branch移動: git checkout master
10: 最新データを取り込む git pull origin master
11: branch作成: git branch 機能名
というように繰り返し行っていきます。
番外編 featchとmarge
前回git pullを使うと最新のデータを取り込むことができましたがgit fetch
とgit merge
を使っても同じようなことができます。
簡単に違いは
git pull
: リモートリポジトリから作業ディレクトリまで一度にデータを取り込む
git fetch
: リモートリポジトリからローカルリポジトリまでデータを取り込む
git merge
: ローカルリポジトリから作業ディレクトリまでデータを取り込む
そのため、 git fetch
+git merge
で git pull
と同じ動作が可能です。
実施してみます。Githubに追加機能をmergeしているところから始めます。
コマンド: git fetch origin main
コマンド: git mearge origin main
以上の二つを行うことでpullと同様のことができます。
最後に
最後まで見ていただきありがとうございます。
Git/Githubを学習の方の少しでもお役に立てると光栄です。