「Git」の基本を押さえて、実務で使えるようになるまで(実務編)
弊社ソリューション事業部ではほとんど全ての案件でgitを導入してプロジェクトの管理をしております。そこでエンジニア歴間もない筆者が、具体的に実務ではどのように使っているかをお伝えしたく、この記事を書きました。
今回は実務編ということで、前回「基本編」で紹介したコマンドを使用して、実務ではどのように使っていくのかを紹介していきます。
前回の記事:「Git」の基本を押さえて、実務で使えるようになるまで(基本編)INDEX
前提
筆者の環境
- wsl2
- Ubuntu-20.02
- git version 2.25.1
- GitHub
想定
- 後輩エンジニア(筆者)と先輩エンジニアの2人で開発。
- ブランチは、main・kouhai ・senpaiの3つがあり、それぞれローカルとリモートに存在。
- メインのブランチを main、後輩エンジニアのブランチを kouhai、先輩エンジニアのブランチを senpaiとする
- 後輩エンジニア(筆者)が開発する視点で記述
準備
- GitHub でリモートリポジトリを作成し、初回コミット・pushまでできている状態にしておきます。まだ準備ができていない場合は、前回の記事『「Git」の基本を押さえて、実務で使えるようになるまで(基本編)』を参考に準備をお願いします。
- 筆者はVimを使用してCLI上でファイルの編集をしますが、こちらはお好みのエディタを使用してください。
【0】自分が作業するブランチを作成してチェックアウトする
1.ブランチの確認
$ git branch -a
2.自分用のブランチを切りながら、チェックアウトする
$ git checkout -b kouhai
$ git branch -a
【1】README.mdを編集してmainブランチにマージされるまでの流れ
1. ファイルを編集
2. 変更箇所を確認、ステージング
$ git status
$ git diff
$ git add .
$ git status
3. コミットして、ログを確認
$ git commit -m "second commit"
$ git log --oneline --graph --decorate
( HEAD → が自分の今いる位置)
4. pushして、ログを確認
$ git push origin kouhai
$ git log --oneline --graph --decorate
5. mainブランチにプルリクエストを送る
Github上で、
Compare & pull request↓
Create pull requestという順でボタンを押下しプルリクエストを作成します。
6. mainブランチにマージされた後
ローカルのmainブランチをリモートのmainブランチに合わせる
$ git checkout main
$ git fetch
$ git pull origin main
$ git log --oneline --graph --decorate --all
ローカルのkouhaiブランチをリモートのmainブランチに合わせる
$ git checkout kouhai
$ git pull origin main
$ git log --oneline --graph --decorate --all
リモートのkouhaiブランチをローカルのkouhaiブランチに合わせる
$ git push origin kouhai
$ git log --oneline --graph --decorate --all
【2】先輩エンジニアがsenpai.mdを作成・編集した内容を取り込む
1.リモートリポジトリの情報を取得する
$ git fetch
$ git log --oneline --graph --decorate --all
2.リモートリポジトリのmainブランチの変更内容を自分のブランチに取り込む
ローカルのkouhaiブランチをリモートのmainブランチに合わせる
$ git pull origin main
$ git log --oneline --graph --decorate --all
senpai.md を取り込めたか確認
$ ls -l
$ vim senpai.md
リモートのkouhaiブランチをローカルのkouhaiブランチに合わせる
$ git push origin kouhai
$ git log --oneline --graph --decorate --all
【3】先輩エンジニアが編集したREADME.mdの内容を取り込む(コンフリクト発生)
1.リモートリポジトリの情報を取得する
$ git fetch
$ git log --oneline --graph --decorate --all
pullする
$ git pull origin main
コンフリクトの発生
2. コンフリクトの解消からプルリクエストを送るまで
statusを確認
$ git status
コンフリクトの修正
コンフリクトした README.md をこのように修正します。
修正前
修正後
コンフリクトの解消
$ git add README.md
$ git status
$ git commit
$ git log --oneline --graph --decorate --all
リモートのkouhaiブランチをローカルのkouhaiブランチに合わせる
$ git push origin kouhai
プルリクエストを送る
こちらを参考に
3.mainブランチにマージされた後
fetch してリモートリポジトリの情報が更新されているか確認
$ git fetch
$ git log --oneline --graph --decorate --all
pullしてリモートリポジトリのkouhaiブランチにpushする
$ git pull origin main
$ git push origin kouhai
$ git log --oneline --graph --decorate --all
おわりに
今回の実務編では、addからpullRequestを送りmergeされた後どうするか【1】、他のエンジニアの編集内容を取り込む際の2つのパターン【2】【3】を、実際にどのコマンドをどのように使うかを示しつつ紹介してきました。
ここで紹介したのは本当に実務においての基本中の基本ですので、gitコマンド一つ取ってもまだまだ数多くあります。今回紹介した基本を押さえて、実際に使ってみてください。すると多種多様な状況にぶつかると思います。「これはどうするんだろう、こうやったらいいのかな」と考え、調べ、他のgitコマンドを試してみる中で、いつの間にか様々なgitコマンドが使えるようになっていると思います。
今回の記事(基本編・実務編)を通して、複数での開発経験がないエンジニア、これから初めて複数人での開発を経験するエンジニアの方々にとって、少しでも参考になれば嬉しく思います。
この記事を書いた人
-
大学4年時春に文系就職を辞め、エンジニアになることを決意し、独学でRuby、Ruby on Railsを学習。
約1年間の独学期間を経てアーティスへWebエンジニアとして入社。現在はWebエンジニアとして、主にシステムの開発・運用に従事している。
抽象的なもの、複雑なものを言語化して文章にするのが好きで得意。
この執筆者の最新記事
- 2024年10月8日WEBVue3でjQueryのdatepickerを使いたい!実装手順と注意点を解説します。
- 2024年8月21日WEBVue3の非同期コンポーネントを使ってみる
- 2024年5月28日WEBLaravel×Inertia×Vue3でファイルアップロード機能を作ってみた
- 2024年4月15日WEBLaravel×Inertia×Vue3でCRUD機能を持つSPAを作ってみた
関連記事
最新記事
FOLLOW US
最新の情報をお届けします
- facebookでフォロー
- Twitterでフォロー
- Feedlyでフォロー