はじめに
こんにちは。未経験エンジニアとして今年4月に新卒入社した勅使川原です。
GitHubは、入社してから初めて使いましたが、1ヶ月半の新人研修を通じて基礎的な使い方を学び、実際の件で役立てるようになってきました。
GitHub や 共同開発に苦手意識がある人に向けて、基本的な流れをわかりやすくまとめました!
1ヶ月半の研修と1ヶ月半の実務を通して、全く何もわからなかったGitHubについて少し理解が進んだので、GitHubに苦手意識を持っている人はぜひ読んでみてください!
この記事の目標
GitHub を使った共同開発の仕組みと流れを、他の人に説明できるようになること。
設定
・小さな ToDo リスト作成プロジェクト
・メンバー: リーダー / メンバーA / メンバーB
・リポジトリはリーダーが作成済み
◎リポジトリって?
・ざっくり言うと「履歴つきのフォルダ」。
・中に .git があり、変更履歴を管理します。
・ローカル(自分のPC)とリモート(GitHub上)があります。
・ローカルの変更は自分しか見えないので、みんなに共有するには push が必要です。
開発の流れ
⓪git clone でリポジトリを取得
①git clone
②作業ブランチを作成 (git checkout -b ブランチ名)
③編集
④git add
⑤git commit
⑥git push
⑦PR作成→レビュー→mainにマージ
⑧git pullで最新化
-詳細-
⓪ リーダーがリポジトリを作成(ここは説明省略)
① git clone
GitHub 上のリモートリポジトリを手元にコピーして、ローカルリポジトリを作る。
② 作業ブランチを作って移動
例)git checkout -b feature/A
メイン(main)から分岐。人ごと・機能ごとにブランチを分けると、誰が何を変えたか分かりやすい。
③ 編集(ソースコードを変更)
VS Code や編集ツールを使って、実際にソースを変更
④ git add
変更したファイルをステージングに乗せる
例: git add . or git add <ファイル名>
⑤ git commit -m "タイトルを表示する機能を追加"
add した内容を「履歴」として確定 (まだ自分だけの変更)
⑥ git push <リモート名> <ブランチ名>
例: git push -u origin feature/A
GitHub 上に自分のブランチを共有
⑦ Pull Request(PR)を作成(GitHub 上)
・変更内容を説明
・レビューを依頼
・OK が出たら main にマージ
⑧ ローカルを最新化
他人のマージを受け取り、自分のローカルに反映
例:git pull
このサイクルを繰り返して開発を進める
・メンバーAはタイトル作成、メンバーBはチェックボックス作成など、各自分のブランチで作業
・PRを作ってmainに統合→また最新状態を取り込んで開発繰り返し
よくある勝手な誤解
・pushは "GitHub に送る"だけ。mainに反映させるには PR と merge が必要
・git pull の引数は "リモート名 ブランチ名"。例: git pull origin main
おわりに
・GitHub や Git について、本当に何もわからなかった上での開発は怖いところもありましたが、基本の流れを繰り返すことで少しずつ自分で出来ることが増えてきました。
・同じようにGitHubに恐怖心がある人も、まずは一度なんとなくでも手を動かしてみるのが一番の歩み出しだと思います!
