プログラミング Git

【Git】Gitの基本用語

はじめに

分散型バージョン管理システム」である、「Git」。
複数人で開発をしていく上で、欠かすことのできないものですよね。

Gitを使用することで、複数人の開発者が同時に作業することができたり、ファイルやディレクトリの修正部分を共有したりすることができます。

誰が、どのファイルに、何を書き込んだのか、何を削除したのか、編集前とどう変わったのかを**バージョン(履歴)**として残しておき、それを履歴として残しておくことができます。

また、確認ができて、必要であればそのバージョンまで戻すことも可能です。
つまり、バックアップなどを取る必要はなくなるということです。

Gitの基本的な用語

  • リポジトリ

リポジトリとはファイルやディレクトリの変更履歴を記録する場所で、「ファイルの保管庫」です。
Gitでは主に「ローカルリポジトリ」と「リモートリポジトリ」の2種類のリポジトリが存在します。

ローカルリポジトリ

開発者が自分のPC上で管理するリポジトリです。インターネットに接続されていない環境で、コードの変更を記録(コミット)したり、新しい機能開発用のブランチを作成したりすることができます。

ただし、ローカルリポジトリでの作業内容は、プッシュするまで他の開発者には共有されません。

リモートリポジトリ

GitHubなどのクラウドサービス上に配置された、チームで共有するリポジトリです。

ローカルでの作業内容をリモートリポジトリにプッシュすることで、チームメンバーと開発した成果物を共有することができます。
また、他のメンバーの作業内容をプルして取得することもできます。

  • ブランチ

開発作業を分岐させる機能です。

メインのプロジェクト(通常はmaster (mainの場合あり)ブランチ)から独立した作業環境を作ることで、既存の機能に影響を与えることなく、機能追加の開発であったり、バグ修正を行うことができます。

  • マージ

別々のブランチで行われた作業内容を統合することです。たとえば、開発者Aと開発者Bがそれぞれ異なるブランチで機能開発を行ったあと、それらの成果をメインブランチに統合する際にマージを使用します。

マージの際に競合(コンフリクト)が発生した場合は、開発者間で調整しながら解決していきます。

  • ワークツリーとインデックス

ワークツリー(作業ディレクトリ)は、実際にファイルを編集する場所です。
一方、インデックス(ステージングエリア)は、コミットする変更内容を準備する中間領域です。

この2段階の構造により、ファイルの変更内容を選択的にコミットすることが可能になります
例えば、複数のファイルを修正した場合でも、特定の変更のみを次のコミットに含めることができます。

Gitの基本的なコマンド

Gitで使用する基本的なコマンドについて、説明していきます。

  • git init

新規のリポジトリを作成する際のコマンドです。
実行することで、新規または既存のプロジェクトをGitで管理できるようになります。

  • git add

変更内容をコミットするための準備として、ワークツリー(作業ディレクトリ)からインデックス(ステージングエリア)にファイルを登録するコマンドです。

以下の形式で使用します。

git add <ファイル名>

すべての変更を追加する場合は、「.」を使用して、以下のコマンドを実行します。

git add .

  • git commit

編集事項があるファイルをインデックスからGitに登録するコマンドです。

下記のコマンドを実行すると、コミットメッセージを入力できるテキストエディタが開かれます。
そこにコミットメッセージを入力するとOKです。

git commit

オプション '-m' を使用することで、コミットのメッセージを入れることができます。

git commit -m '(コミットのメッセージ)'

基本的な作業の流れは以下のようになります。

ファイルを編集する

git add コマンドで、編集したファイルをインデックスに追加する。

git commit コマンドで、インデックスにあるファイルをリポジトリに登録する。実行後、変更箇所やメッセージも一緒に登録されます。

  • git push

ローカルリポジトリで変更したファイルやディレクトリを、リモートリポジトリに反映させる操作です。

これにより、他の開発メンバーとコードの共有ができるようになり、共有作業が可能になります。

git push <リモート名> <ブランチ名>

    • git branch

    ブランチの作成、削除、一覧表示などを行うためのコマンドです。

    作成は、以下のコマンドを実行します。

    git branch <ブランチ名>

    削除は、以下のコマンドを実行します

    git branch -d <削除したいブランチ名>

    一覧の表示は、以下のコマンドを実行します。

    git branch

    • git checkout

    作業するブランチを切り替えるためのコマンドです。異なるブランチで作業を続けたい場合に使用します。

    git checkout <ブランチ名>

    Git使用上の注意点

    強制プッシュ(git push -f)は、注意して行うようにしましょう。

    「強制プッシュ」は、他の作業者の作業履歴が上書きされて、消えてしまう可能性があります。チームに迷惑をかけないように影響範囲を十分に確認してから実行するようにしましょう。

    大容量ファイルの取り扱いには、気を付けましょう。

    Gitは主にソースコードの管理を目的としているため、大容量のバイナリファイル(画像、動画、実行ファイルなど)の管理には適していません。
    これらのファイルをGitで管理すると、リポジトリのサイズが肥大化し、クローンやプッシュの時間が大幅に増加する原因となります。

    コミットメッセージは、可能な限り明確に書きましょう。

    「修正」「更新」といった曖昧なメッセージは避けた方がよいでしょう。
    何をどのように変更したのか、なぜその変更が必要だったのかがわかるように記述した方が、他のチームメンバーにも共有しやすいです。

    学習教本の紹介

    Gitの概念はもちろん、GitHubについても丁寧に解説しています。

    これからGitを使い始める人にオススメの1冊です。
    本書ではクリック操作でGitを使えるSourceTreeを中心に解説しているので、初心者でも安心です。

    実際のワークフローをイメージしながら実践的なGit/GitHubの使い方が身につく「いちばんやさしい」入門書です。前半は、手元のパソコンでファイルを実際にバージョン管理しながら基本的な使い方を解説。後半では、実践的なワークフローに沿ってチームメンバーと一緒に開発を進めるための知識が身につきます。全体を通し、コマンドラインを使った操作が中心であることも大きな特徴です。改訂版では、新しいGitコマンドやGitHubの機能に対応したのに加え、知っておくと実務で役に立つ新しい慣習も紹介しています。

    まとめ

    今回は、Gitの基本的な用語の説明、コマンドについて説明しました。
    こちらのコマンドや用語が理解していれば作業を行う上で基本的には問題ないかと思います。
    しかし、上記以外にもより詳細な機能がたくさんありますので、作業中に必要となる場合もありますので、徐々に学んでいくようにしてください。

    -プログラミング, Git

    error: Content is protected !!
    S