アプリ開発を進める中で避けて通れないのが、バージョン管理ツール「Git」と、そのホスティングサービス「GitHub」です。存在は知っていても、実際に使ってみると独特の概念や用語につまずきました。
この記事では、Git/GitHubを触り始めた頃に実際に混乱した5つのポイントを、初心者目線でまとめます。
1. 「コミット」と「プッシュ」の違いが分からない
最初に混乱したのが、この2つの操作の違いです。
- コミット(commit): 変更内容を自分のパソコン内の履歴として記録する操作
- プッシュ(push): コミットした内容を、GitHubなどのリモートリポジトリ(クラウド上)に反映する操作
「コミットすればGitHub上にも反映される」と最初は勘違いしていて、「変更したはずなのにGitHub上に反映されていない」と焦ったことがありました。コミットはあくまで「自分のパソコンの中の記録」で、プッシュして初めて外部に共有される、という2段階の仕組みを理解するまで少し時間がかかりました。
2. コミットメッセージの書き方に迷う
「変更点を一言で説明するメッセージをつけてください」と言われても、最初は何を書けばいいか分かりませんでした。
update(何を更新したか分からない)fix bug(どのバグか分からない)
のような曖昧なメッセージを量産してしまい、後から履歴を見返したときに「これは何の変更だっけ」と自分でも分からなくなることがありました。今は「〇〇画面に△△機能を追加」のように、具体的に何をしたかが分かる書き方を意識しています。
3. ブランチの概念がつかめない
「ブランチを切って作業してください」と言われても、最初は「ブランチ」が何を指しているのか、頭の中でイメージできませんでした。
イメージとして掴めたのは、「メインの完成形(mainブランチ)に直接手を加えるのではなく、作業用の複製(ブランチ)を作ってそこで試行錯誤し、うまくいったらメインに合流(マージ)させる」という考え方でした。この理解ができてから、ブランチを切ることへの抵抗が減りました。
4. コンフリクト(競合)が起きたときにパニックになる
複数の変更が重なったときに発生する「コンフリクト」に初めて遭遇したとき、見慣れない記号(<<<<<<<や=======など)が画面に表示され、何が起きているのか理解できずパニックになりました。
落ち着いて対処するために意識するようになったのは、以下のポイントです。
- コンフリクトは「どちらの変更を採用するか、自分で決める必要がある」という状態であること
- 記号で区切られた両方の内容を読み比べ、必要な部分だけを残して記号自体は削除すること
- 分からなくなったら、一旦作業を中断(
git merge --abortなど)してやり直しても問題ないこと
「エラーではなく、判断を求められている状態」と捉えられるようになってから、落ち着いて対処できるようになりました。
5. .gitignoreを設定し忘れて余計なファイルをコミットしてしまう
Xcodeが自動生成する設定ファイルや、APIキーなどの機密情報を含むファイルまで、うっかりそのままコミット・プッシュしてしまったことがありました。
.gitignoreファイルに「Gitの管理対象から除外するファイル・フォルダ」を事前に設定しておくことで、この問題は防げます。プロジェクトを始める最初の段階で.gitignoreを設定しておく習慣がついてからは、余計なファイルが紛れ込むことがなくなりました。特にAPIキーやパスワードを含むファイルは、最初から除外設定をしておくことが重要だと痛感しました。
まとめ
- コミットとプッシュは別の操作。プッシュして初めて外部に反映される
- コミットメッセージは「何をしたか」が分かる具体的な内容にする
- ブランチは「作業用の複製」というイメージで捉えると理解しやすい
- コンフリクトは「判断を求められている状態」であり、慌てず対処すればよい
.gitignoreはプロジェクトの最初に設定しておく
Git/GitHubは最初こそ独特な概念に戸惑いますが、慣れてくると「変更履歴を安全に管理できる」心強い仕組みだと感じられるようになってきました。同じように環境まわりでつまずいた話は、「ビルドが失敗しました」で心が折れかけた話でも紹介しています。
本記事は生成AI(Claude)を活用して執筆・編集しています。内容は実体験に基づき、執筆者本人が確認・監修しています。


コメント