【基本】git initとは?その重要性や一連の流れを丁寧に解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年8月)

✔当記事は以下のような方に向けて書かれています

「git initコマンドって一体何?」
「git initコマンドの正しい使い方を理解したい」
「具体的なgit initコマンドの活用例を知りたい」

✔当記事を通じて提供できる情報

  • git initコマンドの基本的な概念
  • git initコマンドの書き方とその活用法
  • 具体的なgit initコマンドの使用例

当記事を通じて、git initコマンドの基本からそのオプションの活用法まで、明快な実例を交えて手取り足取り解説します。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Gitとgit initについての基本知識

こちらでは、Gitとgit initについての基本的な知識を掘り下げていきます。

基本を理解いただいたうえで先へ進みましょう。

  • Gitとは何か?
  • git initの役割と概要

Gitとは何か?

Gitは、ファイルの変更履歴を追跡するための分散型バージョン管理システムです。

Gitは、ファイルの全バージョンを完全に保存します。

過去のあらゆる状態に戻ったり、複数のバージョンを組み合わせて新たなバージョンを作成したりすることが可能です。

Gitを利用することで、以下のような変更を随時確認できます。

【コードの変更例】

# version1
def add(a, b):
    return a + b

# version2
def add(a, b):
    return a + b + 1

Gitではこのような変更をコミットと呼び、各コミットには一意のIDが割り当てられます。

コミット間で、コードがどのように修正されたのかが簡単に把握できるのです。

git initの役割と概要

git initコマンドは、新たなGitリポジトリを作成するためのコマンドです。

Gitがファイルの変更履歴を追跡するために使用する、データベースを設定します。

git initを実行すると、新たに.gitというディレクトリが作成されます。

ここにリポジトリの全情報が格納されるのです。

例えば、次のようにgit initを実行してみましょう。

mkdir my_project
cd my_project
git init

git initを実行したディレクトリは、Gitのリポジトリとなり、ここでのファイルの変更履歴がGitによって追跡されます。

ここでいうGitリポジトリは、ローカル環境でのリポジトリのこと。

ローカルのリポジトリを、リモートのリポジトリと連携するためには、別の設定が必要です。

git initの使い道と基本的な使い方

この章では、git initの具体的な使い道と、その基本的な使い方について探ります。

  • git initの基本コマンド
  • 指定ディレクトリでのgit initの使い方

git initの基本コマンド

前述の通り、git initは新しいリポジトリを初期化するためのコマンドです。

初期化されたディレクトリには、gitによるバージョン管理が適用され、ファイルの変更履歴が記録されます。

基本的なgit initのコマンドは以下のとおり。

$ git init

このコマンドを実行すると、現在のディレクトリに新たに.gitという隠しディレクトリが作成されます。

このディレクトリ内には、バージョン管理に必要な全ての情報が格納されるのです。

指定ディレクトリでのgit initの使い方

git initは、特定のディレクトリでバージョン管理を始める際にも使われます

例えば新たにプロジェクトを始める際、そのプロジェクト専用のディレクトリでgit initを実行すると、そのディレクトリ内での作業が全てgitによって追跡されるようになります。

以下のコマンドは、新たに”my_project”というディレクトリを作り、その中でgit initを実行する例です。

$ mkdir my_project
$ cd my_project
$ git init

こうすることで、”my_project”ディレクトリ内のファイルの変更履歴がgitによって記録されるようになります。

git initの高度な活用法

この章では、git initのさらに高度な使用法について解説します。

Gitの詳細な設定やカスタマイズについて学びましょう。

  • git initのオプション一覧
  • git initでのブランチ作成方法

git initのオプション一覧

git initには、細かな動作を制御するためのいくつかのオプションが用意されています。

ここでは主に使われるオプションについて解説します。

たとえば、ベアリポジトリを作成する場合には、--bareオプションを使用します。

ベアリポジトリは作業ディレクトリを持たず、リモートリポジトリとして設置するのに適しています。

$ git init --bare

また、初期化時に既存のgitテンプレートを指定するには--templateオプションを使用します。

これにより、指定したテンプレートに基づいて.gitディレクトリが設定されます。

$ git init --template=/path/to/template

これらのオプションを適切に使用することで、git initの挙動を自分のニーズに合わせての調整が可能です。

git initでのブランチ作成方法

git initを使ったリポジトリの初期化では、デフォルトで”master”という名前のブランチが作成されます。

異なるブランチ名を設定したい場合は、git configコマンドで、”init.defaultBranch”を設定しましょう。

以下は、新しいリポジトリの初期ブランチを”main”に設定する例です。

$ git config --global init.defaultBranch main
$ git init

コマンドを実行すると、新たに作成されるリポジトリの初期ブランチは”main”に設定されます。

ブランチ名の設定は一度おこなえば、その後のgit initで適用され続けます。

git initからpushまでの一連の流れ

こちらでは、git initから始まり、リモートリポジトリへのpushまで、一連のGit操作フローを説明します。

  • 新規リポジトリの設定
  • ステージングエリアへの追加から、初期のコミット
  • リモートリポジトリへのPush手順

新規リポジトリの設定と初期コミット

新規リポジトリの設定は以下のようにおこないます。

新しいフォルダに移動して、git initコマンドでリポジトリを初期化しましょう。

$ mkdir new-project
$ cd new-project
$ git init

初期のコミット

次に、新しいファイルを作成し、それをステージングエリアに追加します。

最後に、初期コミットを作成しましょう。

$ echo "# My New Project" > README.md
$ git add README.md
$ git commit -m "Initial commit"

これで、新規リポジトリが作成され、初期コミットが行われました。

リモートリポジトリへのPush手順

次に、作成したコミットをリモートリポジトリにpushします。

これにはまず、リモートリポジトリのURLをoriginという名前で登録します。

そして、git pushコマンドを使用してpushします。

$ git remote add origin https://github.com/username/new-project.git
$ git push -u origin master

これで、ローカルリポジトリの変更がリモートリポジトリに反映されました。

これが一連のGit操作フローの基本です。

git init実践例

こちらでは、具体的なgit initの使用例をご紹介します。

  • 実際のコマンド操作例
  • エラーが発生したときの対処法

実際のコマンド操作例

たとえば、MyProjectという名前の新しいプロジェクトを始める場合、以下の手順を実行します。

$ mkdir MyProject
$ cd MyProject
$ git init

これにより、MyProjectディレクトリがGitリポジトリとして初期化され、新しい.gitディレクトリが作成されます。

次に、新しいファイルを作成し、変更をステージングエリアに追加し、コミットします。

$ echo "Hello, World!" > hello.txt
$ git add hello.txt
$ git commit -m "Add hello.txt"

この操作で、新しいhello.txtファイルが作成され、その変更がリポジトリにコミットされました。

エラーが発生したときの対処法

git initを使用していてエラーが発生した場合、その原因と対処法はさまざまです。

一般的なエラーとして、既に初期化されたリポジトリ内でgit initを再度実行した場合に発生するものが挙げられます。

そのような場合、Gitは以下のようなメッセージを表示します。

Reinitialized existing Git repository in /path/to/repo/.git/

Gitが既存のリポジトリ設定を上書きせず、既存の設定のままリポジトリを再初期化したことを表しています。

したがってこれはエラーではなく、警告や注意書きといえるでしょう。

また権限がないディレクトリでgit initを実行した場合、Permission deniedエラーが発生します。

その場合は、適切な権限を取得して再度試行するか、異なるディレクトリで操作をおこないましょう。

まとめ

git initは、新しいGitリポジトリをローカルで作成するための基本的なコマンドです。

このコマンドを使うことで、開発用のディレクトリをGitリポジトリとして扱え、バージョン管理が可能になります。

コードの変更履歴を管理すれば、複数人での開発作業やバグの追跡、修正などが簡単になるでしょう。

また開発作業を効率化し、タスク管理を改善する上でもgit initの使用は欠かせません。

タイトルとURLをコピーしました