(最終更新日:2023年8月)
✔当記事は以下のような方に向けて書かれています
「git initコマンドって一体何?」
「git initコマンドの正しい使い方を理解したい」
「具体的なgit initコマンドの活用例を知りたい」
✔当記事を通じて提供できる情報
- git initコマンドの基本的な概念
- git initコマンドの書き方とその活用法
- 具体的なgit initコマンドの使用例
当記事を通じて、git initコマンドの基本からそのオプションの活用法まで、明快な実例を交えて手取り足取り解説します。
ぜひ最後までご覧ください。
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
の使用は欠かせません。