プログラミング始めたばかりで、「Gitって何?」「コマンド覚えられない…」ってよくあるよね

Gitはバージョン管理システムで、コードの変更履歴を記録したり、チームでの開発をスムーズにするための今や必須ツール。最初は難しく感じるかもしれないけど、基本的なコマンドはそんなに多くない。

この記事では、実際の開発現場で使う頻度の高いGitコマンドを、初心者にもわかりやすく解説していく。これ読めば、明日から自信を持ってGit使えるようになるはず。

Gitとは?なぜ必要なのか

Gitは、ファイルの変更履歴を記録・管理するためのツール。

例えば、こんな経験ない?

  • コード修正したら動かなくなって、元に戻したいけど戻せない
  • 「最終版.txt」「最終版2.txt」「最終版_本当に最終.txt」みたいなファイルが増えまくる
  • 複数人で同じファイル編集して、誰がどこ変えたかわからなくなる

Gitを使えば、こういう問題が全部解決する。変更履歴が自動で記録されるから、いつでも過去の状態に戻せるし、複数人での開発もスムーズになる。

Gitの基本概念

コマンド学ぶ前に、3つの重要な概念を理解しておこう。

ワークディレクトリ:実際に作業してるフォルダのこと。ここでファイル編集する。

ステージングエリア(インデックス):コミットする前の準備エリア。変更したファイルの中から、記録したいものだけ選んで置く場所。

リポジトリ:変更履歴が保存される場所。ローカルリポジトリ(自分のPC内)とリモートリポジトリ(GitHub等のサーバー上)がある。

初期設定のコマンド

Git初めて使う時は、まず自分の名前とメールアドレスを設定する。

git config --global user.name "あなたの名前"
git config --global user.email "your-email@example.com"

この情報は、誰がコミット(変更を記録)したか識別するために使われる。
一回設定すれば、もう不要で後で編集も可能。

設定内容確認するには、これを使用。

git config --list

リポジトリの作成・複製

新しくリポジトリを作る

既存のプロジェクトフォルダでGit使い始める場合は、そのフォルダ内でこのコマンド実行。

git init

これで「.git」っていう隠しフォルダが作られて、そこに変更履歴が保存されるようになる。

既存のリポジトリをコピーする

GitHubとかにあるリポジトリを自分のPCにコピーしたい時は、cloneコマンドを使う。

git clone https://github.com/ユーザー名/リポジトリ名.git

これで、リモートリポジトリの内容が丸ごと自分のPC内にコピーされる。

日常的に使う基本コマンド

ここからが一番重要。実際の開発で毎日使うコマンドを紹介していく。

現在の状態を確認する

git status

このコマンドめちゃくちゃよく使う。どのファイルが変更されてるか、ステージングエリアに何があるか確認できる。困ったら、まずこれ実行する癖つけとこう。

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

// ファイルを指定する場合
git add ファイル名

// 変更を全て追加する場合
git add .

ただし、「.」で全部追加すると、不要なファイルまで追加しちゃうことあるから注意。

変更を記録する(コミット)

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

コミットメッセージには、何を変更したか簡潔に書く。例えば「ログイン機能を追加」「バグを修正」とか。後から履歴見た時にわかりやすいメッセージ心がけよう。

addとcommit同時に行う場合は、このショートカットも使える(ただし新規ファイルには使えない)。

git commit -am "メッセージ"

変更履歴を見る

git log

これまでのコミット履歴が新しい順に表示される。誰が、いつ、何を変更したかわかる。

見やすく表示するには、このオプション便利。

git log --oneline --graph

リモートリポジトリとの連携

リモートリポジトリを追加する

git remote add origin https://github.com/ユーザー名/リポジトリ名.git

「origin」は、リモートリポジトリの別名。慣習的にorigin使うけど、別の名前でも大丈夫。

リモートリポジトリに送信する(プッシュ)

git push origin main

自分のPCでコミットした内容を、リモートリポジトリに反映させる。「main」はブランチ名で、プロジェクトによっては「master」の場合もある。

初回のプッシュ時は、こんな感じで「-u」オプションつける。

git push -u origin main

これで、次から「git push」だけで済むようになる。

リモートリポジトリから取得する(プル)

git pull origin main

リモートリポジトリの最新状態を、自分のPCに取り込む。チームで開発してる場合、作業始める前に必ずpullして、最新の状態にしとこう。

ブランチの操作

ブランチは、メインの開発ラインから分岐して、独立して作業するための機能。新機能開発する時や、実験的な変更試す時に使う。

ブランチ一覧を見る

git branch

現在のブランチには「*」がつく。

新しいブランチを作る

git branch ブランチ名

ブランチを切り替える

git checkout ブランチ名

ブランチの作成と切り替え同時に行うには、これ使う。

git checkout -b ブランチ名

最近のGitでは、checkoutの代わりにswitchコマンドも使える。

git switch ブランチ名
git switch -c ブランチ名  # 作成して切り替え

ブランチを統合する(マージ)

別ブランチでの変更を、現在のブランチに統合する。

git merge ブランチ名

例えば、mainブランチにfeatureブランチの内容統合したい場合は、まずmainブランチに切り替えてから、mergeコマンド実行する。

変更を取り消す・元に戻す

ワークディレクトリの変更を取り消す

git checkout -- ファイル名

まだaddしてない変更を、全部破棄して元に戻す。

ステージングエリアから除外する

git reset HEAD ファイル名

addしたけど、やっぱりコミットしたくない時に使う。ファイルの変更内容は残る。

直前のコミットを修正する

git commit --amend

コミットメッセージ間違えた時や、コミットし忘れたファイル追加したい時に便利。

よく使うその他のコマンド

差分を確認する

git diff

ワークディレクトリとステージングエリアの差分が表示される。何を変更したか詳しく見たい時に使う。

ファイルを削除する

git rm ファイル名

ファイル削除して、その変更をステージングエリアに追加する。

ファイル名を変更する

git mv 旧ファイル名 新ファイル名

ファイル名の変更を、Gitに認識させながら行う。

一時的に変更を退避する

git stash

今の変更を一時的に保存して、ワークディレクトリをクリーンな状態に戻す。別のブランチに急いで切り替えたい時とかに便利。

退避した変更戻すには、これ使う。

git stash pop

初心者がよくやる失敗と対処法

コミットメッセージ間違えた

直前のコミットなら、amendで修正できる。

git commit --amend -m "正しいメッセージ"

間違ったファイルをコミットしちゃった

直前のコミット取り消すには、これ使う。

git reset --soft HEAD^

これでコミットは取り消されるけど、変更内容は残るから、再度正しくコミットできる。

ブランチ間違えてコミットした

コミットを別のブランチに移動させられる。まず正しいブランチ作成・切り替えて、これ実行する。

git cherry-pick コミットID

その後、元のブランチでそのコミット取り消す。

コンフリクト(競合)が発生した

複数人で同じファイル編集すると、マージ時にコンフリクト起こることある。その場合、該当ファイル開いて、手動で修正する必要がある。

ファイル内に「<<<<<<<」「=======」「>>>>>>>」みたいなマーカーが表示されるから、正しい内容残してマーカー削除して、再度コミットする。

まとめ

Gitの基本コマンド紹介してきた。最初はたくさんあって大変に感じるかもだけど、実際に頻繁に使うのはこの5つ。

  • git status(状態確認)
  • git add(ステージング)
  • git commit(記録)
  • git push(送信)
  • git pull(取得)

まずはこれら使いこなせるようになること目指そう。慣れてきたら、ブランチ操作や履歴の修正とか、より高度な使い方にも挑戦してみて。

Gitは使えば使うほど便利さわかってくる。最初は失敗恐れず、どんどん試してみるのが上達の近道。ローカルリポジトリで練習すれば、誰にも迷惑かけずに学べるからね。