GitHubを使い、マージする
GitHub でリモートリポジトリ作成からプッシュまで
リポジトリを作成しましょう。リポジトリは、プロジェクトのファイルや変更履歴を管理する保管場所です。プロジェクトごとに1つ作成します。
GitHubにログインしてください。
ログインしたら、GitHubのホームページに移動します。
ページ右上にあるプロフィールアイコンをクリックし、ドロップダウンメニューから「Your repositories」(あなたのリポジトリ)を選択します。
“Repositories” ページに移動します。
このページでは、既存のリポジトリが一覧表示されています。
図の矢印にある箇所でリポジトリ名を入れ、「New」ボタンでリポジトリを作成します。

リポジトリ名を入れ「Create repository」ボタンで作成します。
リポジトリ名は、「techUPStudy」にしてください。
(他の設定は特にここでは必要ありません。)

完了するとリポジトリ名が以下のリポジトリで表示されています。
|
1 |
https://github.com/[アカウント名]/techUPStudy.git |
ローカルでGit作成しよう。
新しいGitリポジトリをローカルで作成し、それをGitHubなどのリモートリポジトリと連携させます。
以下の矢印の内容の手順で作成できます。

自身でGitのリポジトリは、GitのcloneするとGitファイルのブランチは[main]ブランチになっています。
ブランチについて
・techUP学習:[master][main]ブランチ
・自身のリポジトリ:[main]ブランチ
※自身のリポジトリは新規に作成ているため、フォルダもなく、mainブランチしかありません。[main]ブランチを利用してマージしてください。
ファイルの入力
README.md は自分自身の名前[例田中太郎]を入力してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
main@PC /d/xampp/htdocs $ mkdir techUP main@PC /d/xampp/htdocs $ cd techUP main@PC /d/xampp/htdocs/techUP $ echo "# 田中太郎" >> README.md main@PC /d/xampp/htdocs/techUP $ git init Initialized empty Git repository in D:/xampp/htdocs/techUP/.git/ main@PC /d/xampp/htdocs/techUP (main) $ git add README.md warning: LF will be replaced by CRLF in README.md. The file will have its original line endings in your working directory main@PC /d/xampp/htdocs/techUP (main) $ git commit -m "first commit" [main (root-commit) f215fbc] first commit 1 file changed, 1 insertion(+) create mode 100644 README.md main@PC /d/xampp/htdocs/techUP (main) $ git branch -M main main@PC /d/xampp/htdocs/techUP (main) $ git remote add origin https://github.com/[アカウント名]/techUPStudy.git main@PC /d/xampp/htdocs/techUP (main) $ git push -u origin main Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 222 bytes | 222.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To https://github.com/fujimoto-mio/techUPStudy.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'. |
GitHubにプッシュすると以下のように表示されます。

GitHubの情報
クローン
タブの中から、「<>Code」タブを選択して以下のページを表示します。
矢印から以下のURLを取得してください。

確認できたら、そのURLをDiscordに貼り付け(コピー&ペースト)して通知してください!
ブラウザで https://github.com/[アカウント名]/techUPStudy[リポジトリ名] を開けます。
このリポジトリは、プロジェクトで一つ作成されます。本来の開発では既に作成されているため
現場ではクローンから初めます。やり方を覚えるようにしてください。
クローンから取得する
ここでは、GitHubにリポジトリを作成後、再度GitHubのリポジトリを取得したい場合に利用します。
上記で作成したリポジトリより https://github.com/[アカウント名]/techUPStudyをクローンする.
GitHubサイトから以下のURLを取得してください。

git cloneで実行
フォルダ先を指定してクローンを以下のように実行してください。
git clone <クローンするGitHubのURL>
|
1 2 3 4 5 6 7 8 9 |
~/Downloads/myweb2 $ git clone https://github.com/tanaka/techUPStudy.git Cloning into 'techUPStudy'... remote: Enumerating objects: 13, done. remote: Counting objects: 100% (13/13), done. remote: Compressing objects: 100% (4/4), done. remote: Total 13 (delta 4), reused 13 (delta 4), pack-reused 0 Receiving objects: 100% (13/13), done. Resolving deltas: 100% (4/4), done. |
自分のフォルダ内に[リポジトリ名]というフォルダがcloneされていることを確認してください。
git log で確認して履歴を確認してください。
※注意:クローンは、基本的に開発が始まるときに1回しか実行しません。PCを変えるか、プロジェクトが終わるかまで使っていきます。
git pull/push
クローンで取得したファイルを編集して行きます。
①ブランチを作成(ex MyWeb)
②作成したブランチに切り替え
③ファイルの編集
④add / commit
⑤push (最初のプッシュはorigin が必要です)
⑥ブランチを切り替える
⑦pull する(更新されたファイルがマスターにない場合もあります。)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
tanaka@LAPTOP-C38212K6(自分のPC名) $ cd techUPStudy # ① $ mkdir tanaka ←cloneして取得した自分の名前のフォルダを作成してください。 $ cd tanaka tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git fetch origin ←強制的にローカルブランチをリモートブランチに合わせる $ git checkout main ←ブランチを作成するためmainにする tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git pull origin tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git branch feature/(自分の氏名ローマ字)(Level)(課題番号) にしてブランチを作成してください。 $ git branch feature/tanaka_3_1 # ② tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git branch feature/tanaka_3_1 ←作成したブランチが表示される * main master tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_) $ git checkout feature/tanaka_3_1 # ③ 以下の表示でブランチが切り替わります。 Switched to branch 'feature/tanaka_3_1 tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) #ここでソースを修正または、ファイルを追加する $ git add . # ⑤ tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git status 以下のような表示がでます On branch feature/tanaka_3_1 Changes to be committed: (use "git restore --staged <file>..." to unstage) new file: css/style.css new file: js/script.js tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git commit -m "CSS追加" # ⑤ 以下の表示がでます [feature/tanaka_3_1 d926386] CSS追加 2 files changed, 2 insertions(+) create mode 100644 css/style.css create mode 100644 js/script.js tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git diff <-差分を確認 tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git push -u origin feature/tanaka_3_1 以下の表示がでれば、プッシュ完了です。 fatal: The current branch MyWeb has no upstream branch. To push the current branch and set the remote as upstream, use : : |
git pull/merge / push
①ブランチに切り替える(main)
②pullする (更新されたファイルがマスターにない場合もあります。)
③ブランチを切り替える(MyWeb)
④マスターブランチ(main)を作成したブランチ(MyWeb)にマージする。
※コンフリクトした場合は編集してください。
⑤マージした内容を確認
⑥プッシュする。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git checkout main #① Switched to branch 'main' Your branch is up to date with 'origin/main'. tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git pull #② Already up to date. tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(main) $ git checkout feature/tanaka_3_1 #③ Switched to branch 'feature/tanaka_3_1' Your branch is ahead of 'origin/feature/tanaka_3_1' by 1 commit. (use "git push" to publish your local commits) tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git merge main #④ Already up to date. tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git status #⑤ On branch feature/tanaka_3_1 Your branch is ahead of 'origin/feature/tanaka_3_1' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean tanaka@LAPTOP-C38212K6(自分のPC名)~/techUPStudy/tanaka(feature/tanaka_3_1) $ git push origin feature/tanaka_3_1 #⑥ Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 To https://github.com/fujimoto-mio/techUPStudy.git d926386..6201ac6 feature/tanaka_3_1-> feature/tanaka_3_1 |
以下にもGithubにプッシュするためのマージプルリクエストのルールを載せています。以降はこちらこ参考にプルリクしてください。
gitHubでレビュー(Review)してもらいマージする
①作成したブランチのファイルを編集してください。
②add commit する。
③プッシュする
④GitHubのマージ設定
⑤GitHub にプッシュされると GitHubに、プルリクエストの設定が表示されます。
表示されない場合もあります。そのときは、[New pull request]ボタンから実行します。

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

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

⑧プルリクエストしたことを告知して、レビューをしてもらいます。
※レビューしてもらう方は、メッセージ記載後、「ReviewChanges」して、その変更メッセージ通知します。

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

⑤マージ完了後mainブランチにマージされます。
確認のためローカルレポジトリをpull してみましょう。
※注意:Git作業とブランチの扱いについて、
・Gitコマンドの作業は、Gitリポジトリになる最上位のフォルダでコマンド実行するようにしてください!
※Gitは、最上位の .git フォルダ(リポジトリの管理情報が入った隠しフォルダ)を基準に、
リポジトリ全体の状態を管理・操作する 仕組みにだからです。そうしないと間違ったファイルをまとめてコミットしてしまったり、意図せず他のディレクトリの変更も巻き込んだりといった事故が起こりやすくなります。
|
1 2 3 4 5 6 7 |
$ cd ~ (自分のディレクトリにする) $ pwd /c/Users/tanaka $ cd /Users/tanaka/techUPStudy (git.のあるフォルダ) $ git status $ git pull (/Users/tanaka/techUPStudyのフォルダで実行すること) |
・作成したブランチで、常に作業履歴を残すコミットをしてください。 
作業の過程を明確に記録し、後から見返したり、トラブル時に簡単に戻れるようにするためです。
※Laravelフォルダを作成したら、新しい作業のたびに「Laravel2フォルダ」のように別フォルダを作成する必要はありません。
常に既存のLaravelフォルダ内で作業を進めてください。
・動作確認したソース・ファイルは、別のフォルダにコピーする必要はありません。
必ず、現在動作しているフォルダ内でGitコミット・プッシュしてください。
これは、動作確認した状態とGitに記録される内容にズレが発生しないようにするためです。
※注意(Gitチーム作業時)
Gitでの作業は複数人による共同作業です。
そのため、定められたルールに従って慎重に作業を進める必要があります。
- 誤ったマージを行ったままプッシュすると、リポジトリの状態を正しく把握しないまま操作を続けることになり、履歴の破損やチーム全体への深刻な影響を引き起こす可能性があります。
- 最悪の場合、他の作業者の履歴やファイルにも影響し、取り返しのつかないトラブルに発展することもあります。
Git作業は、各コマンドの意味や挙動を十分に理解した上で、慎重に実行してください。
また、Gitには非常に多くのコマンドがあります。
不明なコマンドはその都度調べて確認し、正確な操作を心がけることが大切です。
ツールの活用
Gitについては、コマンドで行うことも可能ですが、便利なGUIツールがあります。

これらを利用して簡単に作業を行うことが可能ですが、まずは、使いなれるためにコマンドから行なっておきましょう。
Git作業を行う方へ。今のうちにたくさん試して、たくさん間違えて学んでください。
実際のプロジェクトにアサインされた後にGit操作で失敗すると、他人のファイルを削除してしまったり、プロジェクトチーム全体に重大な影響を及ぼす可能性があります。
そのような事態を防ぐためにも、Gitの利用目的や各コマンドの使い方をしっかりと理解しておきましょう!
課題
前回提出した内容 のソースをGitHubに提出してください。
①クローンしたソースからローカルブランチ「feature/(自分の氏名ローマ字)(Level)(課題番号)」を作成してください。
②クローンしたGitファイルに、あなたの名前を記載したフォルダがあります。
③名前の入ったファイルに、作成したソースファイルすべてをフォルダにいれてください。
④一連のGit作業を行い、GitHubにプッシュしてください。
⑤(レビュー確認ー担当者からレビュー後通知いたします。)
⑥OKが出たら、特定のブランチ(main)にマージしてください。
GitHubのissueで作業方法を追加しています。作業内容を必ず確認してください!!
課題のファイルは、GitHubにpushして提出してください。
作業が完了できたらDiscordでお伝えください。
レポジトリのURL(https://github.com/[アカウント名])をDiscordに貼り付けてください。
ヒント
|
1 2 3 4 5 6 7 8 9 |
git clone <url> git checkout -b feature/(氏名:ローマ字)_(L2_27 or P2_1) git add (. or ファイル名) git commit -m "課題を提出します" git push origin feature/(氏名:ローマ字)_(L2_27 or P2_1) git checkout master git pull origin master git merge feature/(氏名:ローマ字)_(L2_27 or P2_1) git push origin master |
課題・復習用検索キーワード
| 検索例 |
| 🔍git clone URL取得方法 |
| 🔍git ローカルを最新に |
| 🔍git addからマージにpushまで |