【バージョン管理】Gitを試してみよう!エンジニアの必須ツールを30分で体験するガイド【Mac】

目次

概要

本記事ではGitについて紹介します。

聞いたことがあるけど、よく知らないという人向けです。

難しいスキルなのかと思いがちですが、そんなことありません。

CLIのコマンドを使ったことあるよっていう人はサクッと習得できるかと思います。

Git(ギット)とは

Git(ギット)とは、プログラムのソースコードなどの変更履歴を記録・追跡するためのバージョン管理システムです。

命名規則を決めて作業をしていれば別ですが、何もしていないと下記のように意味不明な状態になることがあります。

report_final.txt
report_final2.txt
report_final_本当にfinal.txt

どれが最新だっけ、、、ひたすら探し回る作業が発生します。
Gitを使えば、このようなファイルの乱立を防ぎ、「いつ・誰が・何を変更したか」を一元管理できます。誤ってコードを壊してしまっても、簡単に以前の状態に戻せます。

コードを改良してて、やべええ余計なことをした!となったときに元に戻すことができるということです!

Gitを理解するうえで、最初に押さえるべき3つのキーワード

用語意味たとえると
リポジトリプロジェクトのファイルと変更履歴をまとめた保管場所プロジェクト専用のフォルダ(履歴つき)
コミット現時点のファイルの状態を記録するスナップショットゲームのセーブデータ
ブランチメインのコードに影響せず試作・開発できる作業ライン本の下書き用コピー

GitHubについて

GitとGitHubは名前は似ていますが別物です。

Gitはバージョンを管理するツールでGitHubはそのツールを活用しコードを共有するサービスです。

複数人で作業をするときに、コードをを共有するための場所です。

リモートリポジトリと呼ばれます。

GitHubではコードを世界中に公開するか、特定の人だけの共有にするかを設定できます。

非公開にする必要があるのコードを、公開しないように十分に注意をしましょう。

ローカルリポジトリ、、、自分のPC内にあるため、コミットしても他人に影響せず安心して作業できる😆

導入手順

macOSの場合

ターミナルを開き、以下のコマンドを実行します。Homebrewがインストールされていない場合は、先にHomebrewをインストールしてください。

# Homebrewでインストール

brew install git

インストール確認と初期設定

インストール後、以下のコマンドでバージョンを確認しましょう。

git --version

続いて、自分の名前とメールアドレスをGitに登録します。これはコミット履歴に記録される情報です。

git config --global user.name "あなたの名前"

git config --global user.email "your@email.com"

実践

ターミナルを立ち上げて作業用のフォルダをデスクトップに作成します。

cd Desktop
mkdir test
cd test

初期化を行います。

git init

好きなエディターを使ってmemo.txtをtestに作成し、何か書き込んでください。

vim の場合

vi memo.txt

書き込んだら保存(Ctrl + Cを押した後 :wq と入力してEnterキー押下で保存)

↓このように書き込んでみました。

ステージングと呼ばれるエリア(コミットに含める変更内容を一時的に登録するエリア)にファイルを追加します。

git add memo.txt

変更を確定させます。

git commit -m "最初のコミット"
git addは「この変更を次の記録に含める」という宣言で、git commitは「記録を確定させる」操作です。-mオプションの後にはコミットメッセージ(何を変更したかの説明)を書きます。
変更の状態を確認したいときは git status、履歴を見たいときは git log コマンドが便利です。

memo.txtを更新します。

好きなエディターを使ってmemo.txtをtestに作成し、何か書き込んでください。

vim の場合

vi memo.txt

書き込んだら保存(Ctrl + Cを押した後 :wq と入力してEnterキー押下で保存)

↓このように更新しました。

最後にコミットした内容との差分を表示してみます。

git diff

最後のコミットした内容に切り戻してみます。

特定のファイルだけ

git restore <ファイル名>

すべての変更を破棄して戻す

git restore .

memo.txtのファイルを見てみると、最後にコミットした内容に戻ってます。

Git主要コマンド一覧

Claudeに作成してもらいました。↓

主要コマンド一覧

// Git Quick Reference Guide (Light)

⚙️
初期設定・セットアップ
git config --global user.name "名前"
ユーザー名を設定
git config --global user.email "メール"
メールアドレスを設定
git init
新しいリポジトリを初期化
git clone <URL>
リモートリポジトリをクローン
📄
基本操作
git status
ワーキングツリーの状態を確認
git add <ファイル>
ファイルをステージングに追加
git add .
すべての変更をステージング
git commit -m "メッセージ"
変更をコミット
git diff
未ステージの変更差分を表示
🌿
ブランチ操作
git branch
ブランチ一覧を表示
git switch <ブランチ名>
ブランチを切り替え
git switch -c <名>
新規作成して切り替え
git branch -d <名>
マージ済みブランチを削除
🔀
統合・修正
git merge <ブランチ名>
ブランチをマージ
git rebase <ブランチ名>
リベースを実行
git cherry-pick <hash>
特定のコミットのみ取り込む
🌐
リモート操作
git fetch
リモートの変更を取得
git pull
リモートの変更を取得してマージ
git push origin <名>
リモートにプッシュ
📜
履歴確認
git log --oneline
履歴を一行で表示
git log --graph --all
全ブランチのグラフを表示
git reflog
HEADの移動履歴(救済用)
↩️
取り消し・リセット
git restore <file>
作業ディレクトリの変更を破棄
git reset --soft HEAD~1
直前のコミットのみ取消(変更保持)
git reset --hard HEAD~1
直前のコミットと変更を完全破棄 ⚠️
📦
スタッシュ(一時退避)
git stash
現在の変更を一時保存
git stash pop
最新の保存分を復元して削除
git stash list
スタッシュ一覧を表示
🏷️
タグ管理
git tag <タグ名>
タグを作成
git push origin --tags
すべてのタグをプッシュ
// Git Tips

コンフリクトが発生した際は git merge --abort で安全に中断できます。また、.gitignore ファイルで管理対象外ファイルを指定するのを忘れずに。

Git Reference Sheet ⚠️ 破壊的な操作(取り消し不可)に注意

まとめ

書店に行くとバカみたいに分厚い書籍になっていたりしますが、やってみると簡単ですね!

注意として取り返しのつかないコマンドとかもあるので、実行する前に十分に調べて理解して実行しましょう!

次回にもでもGitHubについて紹介しますので、楽しみにお待ちください😄

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次