「Gitという言葉は聞くけれど、何をするものなのかよく分からない」
「コマンドを間違えたら、ファイルが全部消えそうで怖い」
Gitを初めて使うときは、こう感じる人も多いと思います。
Gitは、簡単にいうとファイルの変更履歴を記録して管理するための仕組みです。
プログラム開発でよく使われますが、最初から複雑なブランチ操作やGitHubとの連携まで覚える必要はありません。
まず理解したいのは、
変更する → 状態を見る → 記録する → 履歴を見る
という基本の流れです。
この記事では、実際に1つのファイルを作りながら、
- Gitとは何か
- GitとGitHubの違い
git initgit statusgit addgit commitgit log- 変更を取り消したいときの考え方
までを初心者向けに順番に解説します。
- Gitとは何をするもの?
- GitとGitHubは別物
- Gitを使えるか確認する
- 練習用フォルダをGitで管理してみる
- 最初に覚えたいのは git status
- ファイルを1つ作って状態を見る
- git add で次の記録対象に入れる
- git commit で変更を記録する
- git add と git commit の違い
- コミットできないときはユーザー情報を確認する
- git log で変更履歴を見る
- ファイルをさらに変更してみる
- Gitの基本操作は4段階で考える
- 変更を取り消したいときは、いきなり強いコマンドを使わない
- コミット前のファイル変更を戻す
- git add した変更をステージから外したい場合
- Gitで困ったら最初に確認する順番
- ChatGPTなどのAIへGitエラーを聞くときのコツ
- 最初からブランチやGitHubまで全部覚えなくていい
- まとめ|Gitは「状態を確認してから記録する」と考える
Gitとは何をするもの?
Gitは、ファイルの変更履歴を管理するためのバージョン管理システムです。
たとえば、あるプログラムを作っていて、
「昨日の状態では動いていたのに、今日変更したら動かなくなった」
ということがあるとします。
普通にファイルを上書き保存しているだけでは、以前どんな内容だったのか分からなくなることがあります。
そこでGitを使います。
Gitで変更を記録しておけば、
最初の状態
↓
機能Aを追加
↓
バグを修正
↓
機能Bを追加
というように、変更の節目を履歴として残せます。
大切なのは、Gitを単なる「バックアップ」と考えないことです。
Gitは、
何を変更したのかを管理しながら、作業の節目を記録していく仕組み
と考えると分かりやすくなります。
GitとGitHubは別物
初心者が最初に混乱しやすいのが、GitとGitHubの違いです。
Gitは、変更履歴を管理するための仕組みです。
一方GitHubは、Gitで管理しているリポジトリをインターネット上で保存・共有できるサービスです。
イメージすると、
Git
= 変更履歴を管理する仕組み
GitHub
= Gitで管理したものを保存・共有できるサービス
です。
Gitだけでも、自分のPC内で変更履歴を管理できます。
そのため、この記事ではいきなりGitHubへ接続せず、まずPC上でGitの基本操作を体験します。
Gitを使えるか確認する
Gitがインストールされている環境では、ターミナルやPowerShellなどで次のコマンドを実行できます。
git --version
たとえば、
git version 2.xx.x
のようにバージョンが表示されれば、Gitを利用できます。
一方、
git
というコマンド自体が見つからない場合は、Gitがインストールされていないか、PATHなどの設定に問題がある可能性があります。
まずはここで、
Gitそのものを実行できる状態か
を確認しておきましょう。
練習用フォルダをGitで管理してみる
ここから実際にGitを使ってみます。
まず、練習用のフォルダを1つ用意します。
例として、
git-practice
というフォルダを作ったとします。
ターミナルでそのフォルダへ移動し、次のコマンドを実行します。
git init
これで、そのフォルダをGitで管理できるようになります。
Gitでは、このようにGitで管理されている領域をリポジトリと呼びます。
初心者の段階では、
リポジトリ=Gitで変更履歴を管理するフォルダ
くらいの理解で十分です。
最初に覚えたいのは git status
Gitを使い始めると、
「今どういう状態なのか分からない」
という場面が何度も出てきます。
そんなときに使うのが、
git status
です。
git status は、現在の作業状態を確認するためのコマンドです。
Git公式でも、作業ツリーの状態を表示するコマンドとして定義されています。
Gitで迷ったら、まず、
git status
を確認する習慣をつけるのがおすすめです。
いきなり変更を戻したり、別のコマンドを試したりする前に、
Gitが現在どう認識しているのかを見る
ことがトラブルを減らす基本になります。
ファイルを1つ作って状態を見る
練習用フォルダの中に、
hello.txt
というファイルを作ります。
中身は何でも構いません。
たとえば、
Hello Git
と書いて保存します。
その状態で、
git status
を実行します。
すると、Gitから見ると hello.txt はまだ管理対象として記録されていないファイルとして表示されます。
このようなファイルはUntracked fileと呼ばれます。
つまりGitは、
hello.txtという新しいファイルがある
↓
でも、まだ次の記録対象には入っていない
と認識している状態です。
git add で次の記録対象に入れる
次に、
git add hello.txt
を実行します。
その後、もう一度、
git status
を実行してみてください。
先ほどとは表示が変わります。
git add は、単に「ファイルをGitへ保存する」という意味ではありません。
初心者向けに考えるなら、
次のコミットに含める変更として選ぶ
操作です。
この状態をステージングと呼びます。
流れとしては、
ファイルを変更
↓
git add
↓
次に記録する変更として選択
となります。
git commit で変更を記録する
git add しただけでは、まだ変更履歴として正式に記録されていません。
次にコミットします。
git commit -m "最初のファイルを追加"
commit は、現在ステージングされている変更を履歴として記録する操作です。
-m の後ろには、その変更で何をしたのかを書きます。
たとえば、
最初のファイルを追加
というメッセージなら、
「この時点ではhello.txtを追加した」
ということが後から分かります。
コミットメッセージは、
変更
など曖昧なものにするより、
ログイン画面を追加
誤字を修正
設定ファイルを更新
など、何を変更したか分かる内容にしておくと履歴を確認するときに役立ちます。
git add と git commit の違い
ここは初心者が特に混乱しやすい部分です。
git add と git commit は役割が違います。
ざっくり考えると、
git add
↓
次に記録する変更を選ぶ
git commit
↓
選んだ変更を履歴として記録する
です。
たとえば3つのファイルを変更したとしても、そのうち1つだけを git add すれば、その1つだけを次のコミットへ含めることもできます。
つまり、
変更したもの全部が自動的にコミットされるわけではない
という点が重要です。
コミットできないときはユーザー情報を確認する
初めてGitを使うPCでは、コミット時に名前やメールアドレスの設定を求められることがあります。
その場合は、エラーメッセージを確認してください。
必要に応じて、Gitへユーザー名とメールアドレスを設定します。
例:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
ここで設定するメールアドレスは、自分の利用目的やGitHub側の公開設定なども考えて決めてください。
エラーが出たからといって、何度も git commit を繰り返すのではなく、
エラー内容を読んで、Gitが何を求めているのか確認する
ことが大切です。
git log で変更履歴を見る
コミットが成功したら、
git log
を実行してみます。
コミットの履歴が表示されます。
そこでは、
- コミットを識別する情報
- 作成者
- 日時
- コミットメッセージ
などを確認できます。
つまり、
git add
↓
git commit
↓
git log
まで実行すると、
自分が変更した内容をGitへ記録して、あとから履歴として確認する
という一連の流れを体験できます。
ファイルをさらに変更してみる
次に、先ほどの hello.txt を変更します。
たとえば、
Hello Git
Gitを練習しています
と書き換えて保存します。
ここですぐコミットするのではなく、
git status
を実行します。
Gitは、すでに管理している hello.txt が変更されたことを認識します。
この状態で、
git add hello.txt
を実行し、
git commit -m "Gitの練習文を追加"
とコミットします。
さらに、
git log
を確認すると、先ほどのコミットと今回のコミットが履歴として残っています。
これがGitによるバージョン管理の基本です。
Gitの基本操作は4段階で考える
ここまでの操作を整理すると、初心者が最初に覚える流れはかなりシンプルです。
1. ファイルを変更する
2. git status
今の状態を見る
3. git add
次に記録する変更を選ぶ
4. git commit
変更を履歴として記録する
そして過去の記録を見たいときに、
git log
を使います。
Gitには非常に多くのコマンドがありますが、最初から全部覚える必要はありません。
まず、
git status
git add
git commit
git log
の役割が分かるだけでも、Gitの考え方がかなり理解しやすくなります。
変更を取り消したいときは、いきなり強いコマンドを使わない
Gitを使っていると、
「今の変更をやめたい」
という場面が出てきます。
そのときに注意したいのが、インターネットやAIで見つけたコマンドを意味が分からないまま実行しないことです。
特に、
git reset --hard
のようなコマンドは、状況によっては作業中の変更を失う可能性があります。
初心者が変更を戻したいときは、まず、
git status
を実行します。
そして、
まだコミットしていない変更なのか
すでにgit addした変更なのか
すでにコミットした履歴なのか
を確認します。
同じ「戻したい」でも、現在の状態によって使う操作が違うからです。
コミット前のファイル変更を戻す
たとえば hello.txt を変更したものの、
「この編集はやっぱりやめたい」
という場合があります。
まだコミットしていない作業ツリー上の変更であれば、
git restore hello.txt
で、ファイルをGitに記録されている状態へ戻せる場合があります。
ただし、戻した変更は失われるため、
本当に不要な変更なのかを確認してから実行してください。
何となくエラーを直す目的で git restore を実行するのではなく、
git status
で対象ファイルを確認してから使う方が安全です。
git add した変更をステージから外したい場合
間違えて git add してしまった場合でも、すぐにファイル自体を削除する必要はありません。
ステージングだけを取り消したい場合は、状況に応じて、
git restore --staged hello.txt
を利用できます。
ここで重要なのは、
ファイルの変更内容を消すこと
と、
次のコミット対象から外すこと
は別の操作だという点です。
Gitではこの区別を理解しておくと、誤操作をかなり減らせます。
Gitで困ったら最初に確認する順番
Gitでエラーが起きると、すぐ検索したりAIへ聞いたりしたくなります。
その前に、次の順番で状態を確認してみてください。
1. 今どのフォルダにいるか確認する
↓
2. git status を実行する
↓
3. 何のファイルが変更されているか見る
↓
4. add前・add後・commit後のどこにいるか考える
↓
5. その状態に合った操作を選ぶ
特に git status は非常に重要です。
Gitで何か分からなくなったときに、
まずstatusを見る
という習慣をつけておくと、問題を整理しやすくなります。
ChatGPTなどのAIへGitエラーを聞くときのコツ
GitのエラーをChatGPTなどのAIへ相談すること自体は便利です。
ただし、
Gitが動きません
だけでは状況が分かりません。
たとえば、
Git初心者です。
実行したコマンド:
git commit -m "test"
表示されたエラー:
ここにエラー全文
git statusの結果:
ここに結果
やりたいこと:
変更したhello.txtをコミットしたい
現在のファイルを消したくありません。
原因と、安全に確認する順番を説明してください。
のように、
- 実行したコマンド
- エラー全文
git statusの結果- 本来やりたいこと
- 消したくないデータ
を伝えると、状況を整理しやすくなります。
ただし、AIが提案したコマンドも意味を確認してから実行してください。
特に、
reset
clean
force
などを含む操作は、変更やファイルを失う可能性がないか確認することが重要です。
エラー内容にアクセストークンや認証情報などが含まれている場合は、そのまま外部サービスへ貼り付けないように注意してください。
最初からブランチやGitHubまで全部覚えなくていい
Gitを学び始めると、
- branch
- merge
- remote
- push
- pull
- fetch
- rebase
など、たくさんの用語が出てきます。
しかし、最初からすべて覚えようとすると混乱しやすくなります。
まずは自分のPC上で、
git init
↓
ファイルを作る
↓
git status
↓
git add
↓
git commit
↓
git log
を一度経験してみてください。
これだけでも、
Gitは変更を記録する仕組み
という基本がかなり実感できるようになります。
その後、
Git
↓
GitHub
↓
branch
↓
Pull Request
という順番で覚えていけば十分です。
まとめ|Gitは「状態を確認してから記録する」と考える
Gitには多くの機能がありますが、初心者が最初に覚える流れは複雑ではありません。
変更する
↓
git statusで確認する
↓
git addで記録対象を選ぶ
↓
git commitで履歴へ残す
↓
git logで履歴を見る
まずこの流れを覚えましょう。
特に重要なのは、
何か分からなくなったら、いきなり変更を戻すのではなく git status で現在の状態を確認する
ことです。
Gitを使う目的は、コマンドを暗記することではありません。
変更履歴を残し、
「何を変更したのか」
「どの状態まで記録されているのか」
を把握できるようにすることです。
まずは練習用フォルダで1つファイルを作り、git init から git log まで一度試してみてください。
一連の流れを実際に体験すると、Gitの仕組みはかなり理解しやすくなります。