Gitの基本をマスターしよう!これであなたもバージョン管理の達人!

プログラミング

はじめに:Gitって何?なんで使うの?

「Git(ギット)」って聞いたことありますか? プログラミングの世界では、もはや空気みたいな存在になってるツールなんです。簡単に言うと、**「ファイルの変更履歴を賢く管理してくれるシステム」**のこと。

例えば、あなたがレポートを書いてるとしますよね。 「よし、ここまで書いたから保存!」 「あ、やっぱりこの表現変えようかな…」 「やばい!さっきの変更、元に戻したい!」 なんてこと、よくありますよね?

Gitがないと、 レポート_最終.docx レポート_最終_修正版.docx レポート_最終_修正版_田中チェック済み.docx みたいに、ファイル名がどんどん増えていって、どれが最新で、どこをどう変えたのか、もうワケが分からなくなっちゃいます。

でもGitがあれば、そんな心配はご無用! いつ、誰が、何を、どう変えたのかを全部記録してくれるので、いつでも好きな時点に戻したり、変更内容を詳しく確認したりできるんです。

さらに、複数人で一つのプロジェクトを進める時なんかは、Gitはまさに神ツール! みんながバラバラに作業しても、後で変更を一つにまとめたり、誰かの変更で自分の作業が消えちゃったりするのを防いでくれます。

まさに、**「タイムマシン」と「共同作業の司令塔」**を兼ね備えた、開発者の強い味方なんです!

Gitの基本概念:これだけは知っておきたいGit用語

Gitを使う上で、いくつか独特の言葉が出てきます。難しく考えずに、ざっくりとイメージを掴んでみましょう!

1. リポジトリ (Repository)

Gitがファイルの変更履歴を管理する「場所」のこと。プロジェクトのフォルダ全体をGitが監視しているイメージです。 大きく分けて2種類あります。

  • ローカルリポジトリ: あなたのPCの中にあるリポジトリ。ここで普段の作業や履歴管理を行います。
  • リモートリポジトリ: GitHubやGitLabなど、インターネット上にあるリポジトリ。みんなでコードを共有したり、バックアップを取ったりする場所です。

2. コミット (Commit)

ファイルの変更を「確定」して、履歴に「記録」すること。 「ここまで作業したから、これで一区切り!」というタイミングでコミットします。コミットする際には、「何を変更したのか」を説明するメッセージ(コミットメッセージ)を必ず書きます。これが後で履歴を見返す時の手がかりになります。

例:「ヘッダーのデザインを修正」

3. ブランチ (Branch)

開発の「枝分かれ」のこと。 メインの開発の流れ(例えばmainmasterブランチ)から枝を伸ばして、新しい機能の開発やバグ修正など、独立した作業を進めることができます。 これによって、メインの開発に影響を与えずに、安心して実験的な作業や並行作業ができるんです。作業が終わったら、またメインの流れに合流させます。

4. マージ (Merge)

枝分かれしたブランチの変更を、別のブランチ(例えばメインのブランチ)に「合流」させること。 ブランチで開発した新機能が完成したら、マージしてメインの開発に取り込みます。

5. リモートリポジトリ (Remote Repository)

前述の通り、インターネット上にあるリポジトリのこと。GitHubが有名ですね。 ローカルリポジトリとリモートリポジトリの間でコードをやり取りすることで、チームでの共同作業やコードのバックアップが可能になります。

Gitの基本的な使い方:実際に手を動かしてみよう!

さあ、ここからは実際にGitコマンドを叩いてみましょう! ターミナル(コマンドプロンプトやPowerShell、Macならターミナルアプリ)を使います。

1. プロジェクトを始める

新しいプロジェクトでGitを使い始める場合

プロジェクトのフォルダに移動して、git initコマンドを実行します。 これで、そのフォルダがGitの管理下に入ります。

cd your_project_folder
git init

既存のプロジェクトをリモートから持ってくる場合

GitHubなどにある既存のプロジェクトを自分のPCにコピーしてくる場合は、git cloneを使います。

git clone [リモートリポジトリのURL]

2. 変更を準備する (git status, git add)

ファイルに変更を加えたら、まずはGitに「こんな変更があったよ」と教えてあげます。

変更状況を確認する

git statusコマンドで、どのファイルが変更されたか、まだGitに認識されていない変更があるかなどを確認できます。

git status

変更をステージングエリアに追加する

コミットしたい変更をGitに「これは次のコミットに含めるよ!」と伝えるのがgit addです。この「次のコミットに含める変更」を置いておく場所を「ステージングエリア」と呼びます。

git add [ファイル名] # 特定のファイルを追加
git add .           # 全ての変更を追加 (よく使う!)

3. 変更を記録する (git commit)

ステージングエリアに追加した変更を、履歴に記録します。

git commit -m "コミットメッセージ"

コミットメッセージは、後で自分や他の人が履歴を見返した時に、何を変更したのかがすぐに分かるように具体的に書きましょう。

4. 履歴を見る・比較する (git log, git diff)

コミット履歴を見る

これまでのコミットの履歴を一覧で表示します。

git log

変更内容を比較する

まだステージングエリアに追加していない変更や、ステージングエリアに追加した変更が、前回のコミットからどう変わったかなどを確認できます。

git diff          # まだステージングしていない変更を見る
git diff --staged # ステージング済みの変更を見る

5. 枝分かれして作業する (git branch, git checkout)

新しい機能開発やバグ修正は、ブランチを切って行います。

ブランチの一覧を見る

git branch

新しいブランチを作成する

git branch [新しいブランチ名]

ブランチを切り替える

作業するブランチを切り替えます。

git checkout [切り替えたいブランチ名]

新しいブランチを作成して、すぐにそのブランチに切り替えたい場合は、git checkout -bが便利です。

git checkout -b [新しいブランチ名]

6. みんなで共有する (git push, git pull)

リモートリポジトリとコードをやり取りします。

ローカルの変更をリモートに送る

自分のPCでコミットした変更を、リモートリポジトリにアップロードします。

git push origin [ブランチ名]

originは、リモートリポジトリのデフォルトの名前です。

リモートの変更をローカルに持ってくる

他の人がリモートリポジトリにプッシュした変更を、自分のPCにダウンロードして取り込みます。

git pull origin [ブランチ名]

よく使うコマンド一覧:サッと見返せるチートシート

コマンド説明
git init新しいリポジトリを作成
git clone [URL]リモートリポジトリをコピー
git statusファイルの変更状況を確認
git add .全ての変更をステージングエリアに追加
git commit -m "..."ステージングした変更をコミット
git logコミット履歴を表示
git diff変更内容を比較
git branchブランチの一覧を表示
git branch [name]新しいブランチを作成
git checkout [name]ブランチを切り替える
git checkout -b [name]新しいブランチを作成して切り替える
git merge [name]指定したブランチの変更を現在のブランチにマージ
git push origin [name]ローカルの変更をリモートに送信
git pull origin [name]リモートの変更をローカルに取り込む

まとめ:Gitを使いこなして、もっと楽しく開発しよう!

Gitは、最初はちょっと難しく感じるかもしれません。でも、一度慣れてしまえば、もう手放せなくなるくらい便利なツールです。

  • 変更履歴をしっかり管理できる!
  • いつでも好きな時点に戻れる!
  • 複数人での共同作業がスムーズになる!

これらのメリットを享受できるようになれば、あなたの開発ライフはもっと快適で、もっと楽しくなるはずです。

まずは、今回紹介した基本的なコマンドを実際に使ってみて、Gitの便利さを体感してみてください。最初は小さなプロジェクトからでも大丈夫! 焦らず、少しずつ慣れていきましょう。

Gitを使いこなして、あなたもバージョン管理の達人を目指しましょう!

コメント