Git 技術

【初心者向け】Gitとは?(個人で活用するGit編)

2025年6月7日


はじめに

最近はインフラ基盤もコード管理する機会が増え、そのコードを管理するにあたりGitを利用する機会が増えました。これを機にGitnについて基本的な内容をまとめようと思います。

本ブログはあくまで"Gitの個人利用"に焦点をあてており、チーム開発向けではないためご注意をお願いします。(チーム開発向けのGit編は別ブログでまとめようと思います)

本ブログは以下のような方におすすめです。

  • Gitって何ぞや?を知りたい方
  • Gitの仕組みを知りたい方
  • git addとかgit commit、git pushなどGitの基本的なコマンドを学びたい方

今回私は以下のUdemyの講座でGitを学びました。1時間ほどでGitの基本はマスターでき、且つ無料のためGit初心者の方にはめちゃおすすめです!

https://www.udemy.com/course/intro_git

多彩な講座から自分に合った講座を探そう!

それではGitの世界にいってらっしゃい!

Gitとは?

一言で言うと"バージョン管理システム"であり、誰が、いつ、どのファイルの何を、何のために変更したか記録を残すことができるソフトウェアです。

Gitの仕組み

個人利用の場合

ポイント

  • commit:個人リポジトリに変更履歴を記録する
  • push:共有リポジトリに変更履歴を共有する
  • リポジトリ:変更履歴を記録する場所

複数人利用の場合

ポイント

  • pull:共有リポジトリの情報を同期

GitHubとは?

Gitリポジトリ(コード)のホスティングサービス。(ソーシャルコーディングの場)

特徴

  • プルリクエスト(自分の変更を他の人にレビューしてもらい、共有リポジトリに取り込んでもらうためのリクエスト(申請))によるコラボレーション
  • 他チームのソフトウェアが見える

世界中の人たちが閲覧可能であり、開発に参加したりフィードバックを受けることができる。

また非公開で進めたい場合には、Bitbucketというツールがあります。使い方はGitHubとほぼ変わりません。

基本的なワークフロー

ポイント

ステージングエリアは、ローカルリポジトリにあげる前の控え室のイメージです。

ポイント

2021年8月13日以降、ローカルリポジトリからリモートリポジトリ(GitHub)へのHTTPS経由のパスワード認証が使えなくなりました。ネットで情報を見る限り代替案として、SSH接続への切り替えが推奨されてましたので、以下に手順を記します。

  1. SSH鍵の作成
  • ssh-keygen -t ed25529 -C "メールアドレス"

上記コマンドを実行することで、秘密鍵と公開鍵が生成されます。

~/.ssh/id_ed25519(秘密鍵)※誤って公開しないよう取り扱いには注意してください
~/.ssh/id_ed25519.pub(公開鍵)

またコマンドの補足もしておきます。

"ssh-keygen"はSSH鍵ペアを生成するコマンド、"-t"は鍵の種類を指定するコマンド、"-C"はコメント欄に表示するテキストを指定するコマンド(GitHubでは、識別用にメールアドレスを使う)です。

  1. 公開鍵をGitHubに登録

GitHub の「Settings > SSH and GPG keys」より追加します。

  1. リモートURLをSSHに変更
  • git remote set-url origin <メールアドレス>:<ユーザ名>/<リポジトリ名>

  1. 再度push
  • git push -u origin main

基本的なコマンド

  • git init:ローカルリポジトリの新規作成

".git"という隠しファイルが作成される

  • git status:"git commit"された変更差分が表示される
  • 赤文字:ステージングエリアにaddされていないもの
  • 緑文字:ステージングエリアにaddされたもの
  • git commit -v:変更点の見える化
  • git log:ログの出力(例:commitされたかなど)
  • git rm:ステージングエリアのファイル削除

git rm -r [ディレクトリ名]:ディレクトリも削除

  • git diff:git addしていない変更を確認(個人ファイル〜ステージングエリア)
  • git diff HEAD:コミットされていないすべての変更を確認(個人ファイル〜ローカルリポジトリ)
  • git remote add origin <GitHubリポジトリのURL>:共有リポジトリ(リモートリポジトリ)をoriginという名前で指定

originはエイリアス(別名)であり、Gitの世界ではリモートリポジトリは基本originと命名されることが多い

  • git push origin master:originというリモートリポジトリへmasterブランチをpushする

ブランチとは、変更作業の「別ライン」を安全に進めるための機能です。

<例>

master ブランチ:本番用コード

feature/login ブランチ:ログイン機能の開発用

  • git reset HEAD <ファイル名>:復元(コミットをやり直したい、ステージを外したい) ※ローカルリポジトリへの再度の対応
  • git checkout <ファイル名>:ローカルに復元(過去のブランチに戻る、一時的にファイルを戻したい) ※過去の状態に戻す

おまけ(.gitignore)

".gitignore"ファイルに指定することで、ファイルをGitの管理から外すことができる

  • 自動生成されるファイルやパスワードが記載されているファイルが対象となることが多い
  • 「#」から始まる行はコメントアウトされる
  • 指定方法
    • ファイルを直接指定(index.html)
    • ルートディレクトリを指定(/root.html)
    • ディレクトリ以下を除外(dir/)

関連記事

GitHub Actionsについてまとめた記事です。本記事とまとめて読んでみてください。

GitHub CodeSpacesについてまとめた記事になります。

-Git, 技術