12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実践的なGitの使い方

Last updated at Posted at 2025-03-25

はじめに

この記事は、Gitの実践的な使い方をまとめています。
Gitを初めて使う方が実際に手を動かしつつ、基本を学んでいただければ幸いです。

Gitとは

最初にGitそのものについて少しお話します。

Gitはバージョン管理システム の一つです。
バージョン管理システムとは、成果物(コードやファイル)に加えられた変更をリポジトリと言われるデータベースに記録するシステムです。

この記録を遡ることで、成果物の種々の変更が「いつ」「誰によって」「どんな理由で」加えられたのか確認できます。
バージョン管理システムが無い場合、変更履歴を確認するために、古い成果物を一緒に常に管理しなければいけなくなってしまいます。
結果、膨大な数のファイルを管理することでストレージが圧迫されたり、変更内容・理由が把握しづらくなったり、チーム作業が困難になったりするなど種々の問題が発生します。:point_down:

Qiita用画像1_バージョン管理システム説明用.png

バージョン管理システムには中央集中型システム分散型システムがあります。
前者はユーザーが一つのサーバーに接続することで、最新の成果物を取得できます。
後者は各ユーザーがリポジトリを持ち、お互いに同期し合うことで成り立ちます。
Gitは後者にあたります。

Gitの環境構築

ここからは実際にGitを使うための準備を行います。

Gitインストール

Gitをインストールしていない場合、以下からダウンロード・インストールを行ってください。
上からGit for Windows, Git for macの順にリンクを載せています。

自分のOSがWindowsなので、以降の説明はWindows向けになります。ご了承ください。

Gitホスティングサービスへの登録

次に、Gitホスティングサービスのアカウントを作成します。

Gitホスティングサービスは、後述のGitリポジトリをオンラインで管理し、アクセスできるようにするサービスです。GitHubGitLabAmazon Commit等様々な種類があります。

Gitの初期設定

Gitのインストールが完了したら、ユーザー情報を設定します。
これはバージョン管理において「いつ」「誰が」「どんな理由で」を記録するために利用されます。

コマンドプロンプトを開き、以下のコマンドを入力してください。

git config --global user.name `user_name` #user_nameにはGitホスティングサービスに登録したユーザー名を入力
git config --global user.email `user_email` #user_emailにはGitホスティングサービスに登録したメールアドレスを入力

globalオプションででPCのどこでGitを利用してもこのユーザー情報を付与できます。
以下のコマンドで、きちんと登録されたか確認することができます。
自分が登録したユーザー名・メールアドレスが表示されれば成功です。

git config user.name
git config user.email

以上で環境構築は終了です。お疲れ様でした。

ブランチについて

実際にGitを使って資材管理をする前に、「ブランチ」という重要な概念を説明します。

ブランチは、特定のコミットの状態を保持するポインタのような存在です。
ある時点でのコミット(保存された変更履歴)から新しいブランチを作成する(ブランチを切るといいます)ことで、独立した作業領域を確保できます。
現在いるブランチはHEADというものによって決定されています。

下の画像はmainブランチで最初のコミットを行った例です。
個人でGit管理しているファイルの初期状態は大抵このようになっています。
プロジェクトによりますが、最初のブランチ名はmainmasterdevelopのいずれかであることが殆どです。

Qiita用画像9_branchMain.png

コマンドラインでgit branchを実行して、現在存在するブランチ一覧を確認します。
先頭にアスタリスクが付いたブランチが、現在いるブランチです。
現時点ではmainのみが存在していますね。

Qiita用画像11_gitBranch確認.png

ここでブランチを切ってみます。以下のコマンドをコマンドラインで実行してください。

git checkout -b <作成したいブランチ名>

今回はfeature-1というブランチを作成しました。
git checkout -bコマンドを使うと、新たにブランチを作成すると同時に作成したブランチへ移動します。
もう一度git branchを実行すると、feature-1ブランチの作成・移動が行われていることが分かります。

Qiita用画像12_gitCheckOut確認.png

HEADが指し示すブランチがmainからfeature-1へ変わっています。
以下のようなイメージです。

Qiita用画像13_feature-1.png

この状態で、Greetings2.txtを編集・保存し、コミットします。

Qiita用画像14_Greetings2.png

Qiita用画像15_Greetings2Committed.png

以下画像のようなイメージです。

Qiita用画像16.png

現時点では、feature-1ブランチで行われたコミットは他のブランチからは見えません。
以下コマンドのいずれか実行してmainブランチに移動し、Greetings2.txtを開きます。

git checkout main

または

git switch main #git 2.23以降を使用している場合

Qiita用画像17_gitSwitch.png

Qiita用画像18_Greetings2OnMainBranch.png

feature-1ブランチで追加した「Hello!」の文言がありませんね。
これは、mainブランチの状態がはfeature-1でコミットを行う直前であるためです。
このようにブランチを適切に切ることで、複数人での開発が可能になります。

ブランチ同士は以下のコマンドで統合することができます。

git merge <統合したいブランチ名>

これはマージと呼ばれ、コマンドの引数で指定したブランチの変更を現在いるブランチに反映することができます。

mainブランチにいる状態で、feature-1ブランチをマージする場合は以下のようになります。

Qiita用画像19_gitMerge.png

マージ後にGreetings.txtを開いてみます。

Qiita用画像20_Greetings2AfterMerge.png

feature-1ブランチで行われた変更がmainブランチに反映されています。
最後に、必要なくなったブランチを削除しましょう。

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

Qiita用画像21_DeletingBranch.png

Gitにおいては、このようにブランチを切ってマージすることが開発の基本になります。

Gitを使ったファイル管理

ここからは、実際にGitを使ってプロジェクトファイルを管理する流れを説明します。
個人開発と複数人開発の場合で若干流れが異なるので、順に説明していきます。

個人開発の場合

1. ファイル作成と編集

まず、Git管理したいファイルを作成します。
今回はQiitaというフォルダを作り、そこへGit管理する資材を格納します。
ここで見せているフォルダの場所・フォルダ名・資材名は任意に変更してください。

Qiita用画像2_Git管理するフォルダの画像.png

今回はこのフォルダ配下でGreetings.txtというテキストファイルを作成・Git管理します。
右クリック→新規作成(W)→テキストドキュメントまたは以下コマンドをコマンドラインで入力してください。

echo. > "C:\Qiita\Greetings.txt"
  • C:\Qiita\は保存したいディレクトリのパスに置き換えてください。
  • Greetings.txtは作成したいファイル名にしてください。
    :point_down:のように新規ファイルが作成できれば成功です。

Qiita用画像3_Git管理するファイルの画像.png

2. git init

このステップでは、ディレクトリQiitaがバージョン管理対象フォルダであることをGitに認識させます。
同じディレクトリでコマンドラインを起動し、以下コマンドを入力してください。

git init

すると、同じディレクトリに.gitという隠しファイルが作成されます。

Qiita用画像4_git隠しファイル確認.png

このファイルが表示されない場合は、エクスプローラー→「表示」タブ配下「表示/非表示」→「隠しファイル」のチェックボックスにチェックが入っていることを確認してください。

Qiita用画像5_隠しファイルの表示非表示確認.png

これでこのステップは完了です。

3. 差分のステージング

ステップ3でgit initを実行すると、Greetings.txtに「?」が表示されたことにお気づきでしょうか。

Qiita用画像6_gitinit後のはてなマーク.png

これはGitがGreetings.txtをバージョン管理対象としてまだ認識していないことを表しています。
このディレクトリをコマンドラインで開き、git statusと入力するとGreetings.txtUntracked Filesになっていることが確認できます。

Qiita用画像7_Untracked_Files.png

Gitはバージョン管理対象フォルダ内の資材を自動で追跡するのではなく、指定された資材のみ追跡するのですね。
では、Greetings.txtが追跡対象であることをGitに認識させましょう。
このディレクトリのパスをコマンドラインで開き、以下コマンドを入力してください。

git add Greetings.txt

git add 資材名でコミット(変更をデータベース上に正式に保存すること)の前段階であるステージングが完了します。
資材名の代わりに「*」を入力すると、追跡されていない資材を一意にステージング可能です。
入力後にもう一度git statusと入力し、先程ステージングした資材がChanges to be committed一覧に表示されていれば成功です。

Qiita用画像8_changestobecommitted.png

以下のコマンドを入力して、ステージングしたファイルのコミットを行いましょう。

git commit Greetings.txt -m "Greetings.txtをコミット"

以上が個人開発におけるGit操作の一連の流れになります。

複数人開発の場合

次に、複数人開発でのGit操作の流れを紹介します。個人開発に比べて手順が増えます。
文章量を減らすため、個人開発の場合との重複部分は省略します。

1. リポジトリのクローン

プロジェクトを初めて取得する場合のみ、ローカルにリモートリポジトリ全体をダウンロードする必要があります。
以下コマンドを実行してください。

git clone <リモートリポジトリのURL>

2. 作業ブランチの作成

クローンしたリポジトリのmainブランチやdevelopブランチから、作業用の新しいブランチを作成します。
以下コマンドを実行してください。

git checkout -b <作成したい作業ブランチ名>

クローンしたリポジトリのどのブランチにいるか分からない場合は、git branchで確認できます。今いるブランチには先頭にアスタリスクが付けられます。

3. 作業ブランチで編集・コミット

個人開発における3.差分のステージングと同様の内容です。

4. リモートリポジトリへコミットをプッシュする

先程のコミットはローカルで行ったものなので、他の開発者からはコミットの内容を見ることができません。
以下のコマンドで、ローカルで行ったコミットをリモートリポジトリへ反映します。この操作はプッシュと呼ばれます。

git push origin main

originmainは以下のように読み替えてください。

  • origin: プッシュ先のリモートリポジトリ名
  • main: プッシュするブランチ名

以上が複数人開発におけるGit操作の流れになります。
ここまで完了したら、レビュアーにレビュー依頼を出しましょう。

最後に

Gitは、個人開発から大規模なチーム開発まで、多くの場面で活躍する強力なツールです。
出来ることが多い分、はじめは慣れるのに苦労するツールでもあります。
この記事でまずは基本的な操作を覚え、少しずつ出来ることを増やしていきましょう。

12
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?