はじめに
こんにちは、良い技術ブログが書けるよう日々試行錯誤しているエヌです。
この記事では「bareリポジトリを利用したローカルでgit管理を行う方法」についてを書いています。
GitHubなどをのサービスを使いリモートリポジトリと連携して履歴管理などを行ってますが、個人的な資料もgitで管理したくて、ローカルだけでgit管理できないのかなぁと思ったのがこの記事を書いたきっかけです。
以前に似たような記事を書きましたが、今回はbareリポジトリを利用してgit cloneができるような管理を行っていきたいと思います。この方法だと例えば社内でサーバーを立ててチームでGitを使う、ということもできるようになります
自分に向けた備忘録も目的ではありますが、「サーバーとか要らなくて個人PCだけで履歴の管理が行えるようにしたい」な人の一助になれば嬉しいです。
Note
bareリポジトリとは何か、という点についてはここでは触れません(この記事を読む分には、そういうものがある、位の認識で問題ありません) もしご興味があればWebで検索していただければと思います。
前提(環境)
以下の環境で行いました。
OS: Windows 10 Git: 2.32.0.windows.1
事前に用意したフォルダの構成
最初に、以下のようにworkフォルダを作り、その下にtest.git、hoge、fugaの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を活用し効率良い開発を行っていきましょう
さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。併せて読んでいただくと良いかと思います。