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ファイルに保存されます。
コメント