ローカルでgit管理を行う(bareリポジトリを利用)

はじめに

こんにちは、良い技術ブログが書けるよう日々試行錯誤しているエヌです。

この記事では「bareリポジトリを利用したローカルでgit管理を行う方法」についてを書いています。

GitHubなどをのサービスを使いリモートリポジトリと連携して履歴管理などを行ってますが、個人的な資料もgitで管理したくて、ローカルだけでgit管理できないのかなぁと思ったのがこの記事を書いたきっかけです。

以前に似たような記事を書きましたが、今回はbareリポジトリを利用してgit cloneができるような管理を行っていきたいと思います。この方法だと例えば社内でサーバーを立ててチームでGitを使う、ということもできるようになります

自分に向けた備忘録も目的ではありますが、「サーバーとか要らなくて個人PCだけで履歴の管理が行えるようにしたい」な人の一助になれば嬉しいです。

Note

bareリポジトリとは何か、という点についてはここでは触れません(この記事を読む分には、そういうものがある、位の認識で問題ありません) もしご興味があればWebで検索していただければと思います。

前提(環境)

以下の環境で行いました。

OS: Windows 10 Git: 2.32.0.windows.1

事前に用意したフォルダの構成

最初に、以下のようにworkフォルダを作り、その下にtest.githogefugaの3つのフォルダを作っておきます。

work
├ test.git
├ hoge
└ fuga

test.gitフォルダでの作業

test.gitフォルダに移動し、下記のコマンドを実行します。

git init --bare --shared

このベアリポジトリとして作成しています。

Note

複数人で作業しなければ--sharedオプションは不要ですが、あって困ることは個人開発でも特にないので--sharedオプションは付けています。

hogeフォルダでの作業

続いてはカレントディレクトリをhogeフォルダに移動し、下記のコマンドを実行します。

git init
git remote add origin ../test.git

hogeフォルダでリポジトリを作成した後、このリポジトリtest.git(上で作ったベアリポジトリ)に登録しています。

試しにコミットしてみる

リポジトリを作成したので、ここでコミットをしてみたいと思います。 hogeフォルダ内に適当に(ここではalpha.txtとします)を作り、カレントディレクトリがhogeフォルダの状態でコミットのコマンドとプッシュ(以下)を実行します。

git add .
git commit -m "first commit"
git push origin master

クローンしてみる

では次はリポジトリのクローンを行ってみたいと思います。クローンを行う場所はfugaフォルダにします。

カレントディレクトリをfugaフォルダにした後、以下のコマンドを実行してください

git clone ../test.git

すると、fugaフォルダ内にtestフォルダが作成されたと思います。

最終的なフォルダ構成は以下のようになっています。

work
├ test.git
│  └ ...
├ hoge
│  ├ .git
│  └ alpha.txt
└ fuga
   └ test
      ├ .git
      └ alpha.txt

bareリポジトリを利用することでローカルの別の場所にクローンすることが出来ました。

おわりに

「bareリポジトリを利用したローカルでgit管理を行う方法」について、書いていきました。いかがだったでしょうか。

様々な場面でどんどんGitを活用し効率良い開発を行っていきましょう

さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。併せて読んでいただくと良いかと思います。

qiita.com

creepfablic.site