1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング初心者がWebアプリ開発で学んだGitの実践的な使い方

1
Posted at

はじめに

元学習塾教材開発から転職した新人プログラマーです。

AIを使って家計簿Webアプリを作りながら、実際の開発でGitを使い続けてきました。教科書的な説明ではなく「実際にやってみてわかったこと」をまとめます。

【開発したアプリ】https://kakeibo-khaki.vercel.app/


使ったGitの操作一覧

基本操作

# ブランチを確認する
git branch -avv

# ブランチを作る(developから切る)
git checkout develop
git pull origin develop
git checkout -b feature/dark-mode

# 変更をコミットする
git add .
git commit -m "ダークモード対応を追加"

# リモートにプッシュする
git push origin feature/dark-mode

マージの流れ

# featureをdevelopにマージ
git checkout develop
git merge feature/dark-mode
git push origin develop

# developをmainにマージ
git checkout main
git merge develop
git push origin main

ブランチを削除する

# ローカルのブランチを削除
git branch -d feature/dark-mode

# マージ済みでも強制削除したい場合
git branch -D feature/dark-mode

# GitHubのブランチも削除
git push origin --delete feature/dark-mode

実際にやってみてわかったこと

① ブランチは機能ごとに切る

最初はmainに直接コミットしていました。でも機能が増えるにつれて「どの変更がどの機能のものか」がわからなくなりました。

# 悪い例
main ← 全部ここにコミット

# 良い例
feature/month-switch   ← 月別切り替え
feature/pie-chart      ← 円グラフ
feature/budget-setting ← 予算設定

機能ごとにブランチを切ることで、問題が起きたときに原因を特定しやすくなります。

② developブランチを挟む

最初はfeature → mainの直接マージをしていました。チーム開発を想定してdevelopブランチを挟む運用に変えました。

feature/xxx → develop(動作確認)→ main(リリース)

個人開発では必須ではないですが、将来チーム開発に入ったときの練習になります。

-d-Dの違いで詰まった

# -d(小文字):マージ済みのみ削除
git branch -d feature/xxx

# -D(大文字):強制削除
git branch -D feature/xxx

-dでエラーが出たとき最初は焦りましたが、「まだマージしていないブランチを消そうとしている」というサインだとわかりました。

git branch -avvで状態を確認する習慣

git branch -avv

このコマンドを打つと全ブランチの状態が一覧で見えます。aheadbehindの表示で「リモートと差分があるか」がわかるので、作業前後に必ず確認するようにしました。

⑤ Fast-forwardマージはコンフリクトなし

Updating 878f9a4..d3ac5fd
Fast-forward

このメッセージが出たときはコンフリクトなしで安全にマージできた証拠です。最初は意味がわからなかったのですが、「ブランチが一直線につながったのでそのまま取り込めた」という意味だとわかりました。


今の運用フロー

1. developからfeatureブランチを切る
   git checkout develop
   git checkout -b feature/xxx

2. 開発・コミット・プッシュ
   git add .
   git commit -m "〇〇を追加"
   git push origin feature/xxx

3. developにマージ
   git checkout develop
   git merge feature/xxx
   git push origin develop

4. 動作確認後にmainにマージ
   git checkout main
   git merge develop
   git push origin main

5. featureブランチを削除
   git branch -d feature/xxx
   git push origin --delete feature/xxx

まとめ

学んだこと ポイント
ブランチは機能ごとに切る 変更の追跡がしやすくなる
developを挟む チーム開発の練習になる
-d-Dの違い マージ済みかどうかで使い分ける
branch -avvで確認 作業前後に状態を把握する
Fast-forwardを理解する 安全なマージの証拠

実際のプロジェクトで使いながら覚えるのが一番身につきました。


★開発したアプリ
【シンプル家計簿】https://kakeibo-khaki.vercel.app/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?