Git

Git

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。

インストール

以下のコマンドを実行して、インストールされているか確認します。

git -v

インストールされていると、以下のようにバージョンが表示されます。

git version 2.43.0

インストールするには、以下のコマンドを実行します。

sudo apt install git

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

sudo apt purge git

gitの構成とコマンドの関係(イメージ)

構成とコマンドのイメージを描きました。
ローカルリポジトリにはローカルブランチの他に、ローカルブランチへ入れる・外す選択を扱う「ステージング」とリモートブランチの情報を保存する「リモート追跡(リモートトラック)」があります。

設定変数

Gitに設定変数を設定するときには、git configを実行します。
プッシュの時などにユーザ名やアドレスを要求されることがあります。設定するには、以下のコマンドを実行します。
設定内容は、~/.gitconfig ファイルに保存されます。

git config --global user.name "hoge"
git config --global user.email "hoge@example.test"

ベアリポジトリとノンベアリポジトリ

Gitのリポジトリには2種類あります。

ベアリポジトリ

Gitの作業ディレクトリを持たず、更新情報を管理するためのリポジトリです。
ディレクトリ名は「fuga.git」のように「.git」を付けるのが慣例のようです。
ローカルにクローンを作成するときの対象になります。
作成するには、以下のコマンドを実行します。

mkdir ~/bare/fuga.git
cd ~/bare/fuga.git
git init --bare --shared=true

sharedオプションを付けないと、push時にアクセス権エラーが発生することがあるようです。

ノンベアリポジトリ

Gitの作業ディレクトリを持つリポジトリです。更新したファイルの管理は、こちらのリポジトリで行います。
作成方法は、以下の2種類があります。

git init

初めから作成する方法です。
作成するには、Git管理したいディレクトリをカレントにして、以下のコマンドを実行します。

mkdir ~/nonbare/fuga
cd ~/nonbare/fuga
git init

git clone

ベアリポジトリから複製して作成する方法です。
この方法を実行すると、カレントディレクトリにリポジトリのディレクトリを作成します。
作成するコマンドの書式は、以下の通りです。

git clone ベアリポジトリ(フルパス) ディレクトリ名

ベアリポジトリ(フルパス)には、クローン(複製)元を指定します。
ディレクトリ名には、クローン先(つまり、作成するリポジトリ)を指定します。

同じマシン内であれば、以下の様な感じでパスを指定します。

git clone ../bare/fuga.git fuga

リモートにあるベアリポジトリへsshで接続する場合は、以下の様な感じでパスを指定します。

git clone hoge@192.168.1.202/home/hoge/git/bare/php/fuga.git fuga

リモートリポジトリと連携

ローカルに作成したプロジェクトをGit管理させるために、以下のコマンドを実行して、必要な情報登録を済ませておきます。

git config --global user.name "hoge"
git config --global user.email "hoge@example.test"

設定内容は、.gitconfig ファイルに保存されます。

ベアリポジトリからcloneした場合は、既に連携されています。
initで作成した場合は、以下のコマンドを実行してリモートリポジトリへ接続する情報を追加します。

git remote add リモート名 リモートURL

ここでは、接続情報にoriginという名前を設定しています。

git remote add origin ssh://hoge@192.168.1.202/home/hoge/git/bare/fuga.git

追加した内容は、.git/configファイルに保存されます。

コメント

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