G-3. GitHubを使った作業

GitHubを使い、マージする

GitHub でリモートリポジトリ作成からプッシュまで

リポジトリを作成しましょう。リポジトリは、プロジェクトのファイルや変更履歴を管理する保管場所です。プロジェクトごとに1つ作成します。

GitHubにログインしてください

ログインしたら、GitHubのホームページに移動します。

ページ右上にあるプロフィールアイコンをクリックし、ドロップダウンメニューから「Your repositories」(あなたのリポジトリ)を選択します。

“Repositories” ページに移動します。
このページでは、既存のリポジトリが一覧表示されています。

図の矢印にある箇所でリポジトリ名を入れ、「New」ボタンでリポジトリを作成します。

リポジトリ名を入れ「Create repository」ボタンで作成します。

リポジトリ名は、「techUPStudy」にしてください。

(他の設定は特にここでは必要ありません。)

完了するとリポジトリ名が以下のリポジトリで表示されています。

ローカルでGit作成しよう。

新しいGitリポジトリをローカルで作成し、それをGitHubなどのリモートリポジトリと連携させます。

以下の矢印の内容の手順で作成できます。

自身でGitのリポジトリは、GitのcloneするとGitファイルのブランチは[main]ブランチになっています。

ブランチについて

・techUP学習:[master][main]ブランチ

・自身のリポジトリ:[main]ブランチ

※自身のリポジトリは新規に作成ているため、フォルダもなく、mainブランチしかありません。[main]ブランチを利用してマージしてください。

ファイルの入力

README.md は自分自身の名前[例田中太郎]を入力してください。

GitHubにプッシュすると以下のように表示されます。

GitHubの情報

クローン

タブの中から、「<>Code」タブを選択して以下のページを表示します。

矢印から以下のURLを取得してください。

参考

確認できたら、そのURLをDiscordに貼り付け(コピー&ペースト)して通知してください!

ブラウザで https://github.com/[アカウント名]/techUPStudy[リポジトリ名] を開けます。

このリポジトリは、プロジェクトで一つ作成されます。本来の開発では既に作成されているため

現場ではクローンから初めます。やり方を覚えるようにしてください。

クローンから取得する

ここでは、GitHubにリポジトリを作成後、再度GitHubのリポジトリを取得したい場合に利用します。

上記で作成したリポジトリより https://github.com/[アカウント名]/techUPStudyをクローンする.

GitHubサイトから以下のURLを取得してください。

git cloneで実行

フォルダ先を指定してクローンを以下のように実行してください。

git clone <クローンするGitHubのURL>

自分のフォルダ内に[リポジトリ名]というフォルダがcloneされていることを確認してください。

git log で確認して履歴を確認してください。

※注意:クローンは、基本的に開発が始まるときに1回しか実行しません。PCを変えるか、プロジェクトが終わるかまで使っていきます。

git pull/push

クローンで取得したファイルを編集して行きます。

①ブランチを作成(ex MyWeb)

②作成したブランチに切り替え

③ファイルの編集

④add / commit

⑤push (最初のプッシュはorigin が必要です)

⑥ブランチを切り替える

⑦pull する(更新されたファイルがマスターにない場合もあります。)

git pull/merge / push

①ブランチに切り替える(main)

②pullする (更新されたファイルがマスターにない場合もあります。)

③ブランチを切り替える(MyWeb)

④マスターブランチ(main)を作成したブランチ(MyWeb)にマージする。

※コンフリクトした場合は編集してください。

⑤マージした内容を確認

⑥プッシュする。

以下にもGithubにプッシュするためのマージプルリクエストのルールを載せています。以降はこちらこ参考にプルリクしてください。

GitHubマージプルリクの作業ルール

gitHubでレビュー(Review)してもらいマージする

①作成したブランチのファイルを編集してください。

②add commit する。

③プッシュする

④GitHubのマージ設定

⑤GitHub にプッシュされると GitHubに、プルリクエストの設定が表示されます。

表示されない場合もあります。そのときは、[New pull request]ボタンから実行します。

⑥マージ先を指定して、プルリクエストする内容を記載する

⑦プルリクエスト作成したら下記のような表示になります。

⑧プルリクエストしたことを告知して、レビューをしてもらいます。

 ※レビューしてもらう方は、メッセージ記載後、「ReviewChanges」して、その変更メッセージ通知します。

⑨レビューが完了してマージができるようであれば、マージプルリクエストのボタンを実行します。

⑤マージ完了後mainブランチにマージされます。

確認のためローカルレポジトリをpull してみましょう。

※注意:Git作業とブランチの扱いについて、

 ・Gitコマンドの作業は、Gitリポジトリになる最上位のフォルダでコマンド実行するようにしてください!

 ※Gitは、最上位の .git フォルダ(リポジトリの管理情報が入った隠しフォルダ)を基準に、
リポジトリ全体の状態を管理・操作する 仕組みにだからです。
そうしないと間違ったファイルをまとめてコミットしてしまったり、意図せず他のディレクトリの変更も巻き込んだりといった事故が起こりやすくなります。

 

・作成したブランチで、常に作業履歴を残すコミットをしてください。 

 作業の過程を明確に記録し、後から見返したり、トラブル時に簡単に戻れるようにするためです。

 Laravelフォルダを作成したら、新しい作業のたびに「Laravel2フォルダ」のように別フォルダを作成する必要はありません。
常に既存のLaravelフォルダ内で作業を進めてください。

・動作確認したソース・ファイルは、別のフォルダにコピーする必要はありません。
必ず、現在動作しているフォルダ内でGitコミット・プッシュしてください。

これは、動作確認した状態とGitに記録される内容にズレが発生しないようにするためです。

※注意(Gitチーム作業時)

Gitでの作業は複数人による共同作業です。
そのため、定められたルールに従って慎重に作業を進める必要があります。

  • 誤ったマージを行ったままプッシュすると、リポジトリの状態を正しく把握しないまま操作を続けることになり、履歴の破損チーム全体への深刻な影響を引き起こす可能性があります。
  • 最悪の場合、他の作業者の履歴やファイルにも影響し、取り返しのつかないトラブルに発展することもあります。

Git作業は、各コマンドの意味や挙動を十分に理解した上で、慎重に実行してください。
また、Gitには非常に多くのコマンドがあります。
不明なコマンドはその都度調べて確認し、正確な操作を心がけることが大切です。

ツールの活用

Gitについては、コマンドで行うことも可能ですが、便利なGUIツールがあります。

SourceTree

TortoiseGit

これらを利用して簡単に作業を行うことが可能ですが、まずは、使いなれるためにコマンドから行なっておきましょう。

Git作業を行う方へ。今のうちにたくさん試して、たくさん間違えて学んでください。
実際のプロジェクトにアサインされた後にGit操作で失敗すると、他人のファイルを削除してしまったり、プロジェクトチーム全体に重大な影響を及ぼす可能性があります。
そのような事態を防ぐためにも、Gitの利用目的や各コマンドの使い方をしっかりと理解しておきましょう!

課題

前回提出した内容 のソースをGitHubに提出してください。

①クローンしたソースからローカルブランチ「feature/(自分の氏名ローマ字)(Level)(課題番号)」を作成してください。

②クローンしたGitファイルに、あなたの名前を記載したフォルダがあります。

③名前の入ったファイルに、作成したソースファイルすべてをフォルダにいれてください。

④一連のGit作業を行い、GitHubにプッシュしてください。

⑤(レビュー確認ー担当者からレビュー後通知いたします。)

⑥OKが出たら、特定のブランチ(main)にマージしてください。

GitHubのissueで作業方法を追加しています。作業内容を必ず確認してください!!

課題のファイルは、GitHubにpushして提出してください。

作業が完了できたらDiscordでお伝えください。

レポジトリのURL(https://github.com/[アカウント名])をDiscordに貼り付けてください。

ヒント

課題・復習用検索キーワード

検索例
🔍git clone URL取得方法
🔍git ローカルを最新に
🔍git addからマージにpushまで