手動でgit initする方法

git initがやってることは本質的には単純で、突き詰めて言うと1つのファイルと2つの空ディレクトリを作成しているだけのようです。
(※本当はもっといろいろやってるのですが、枝葉末節を省くと本質的にはこれだけという意味)
.git/objects/
.git/refs/
.git/HEAD
最低限これだけあれば、gitレポジトリとしての要件を満たせるみたいです。

手動でgit init

mkdir .git
mkdir .git/objects
mkdir .git/refs
echo "ref: refs/heads/master" > .git/HEAD
たったこれだけ。
これで、もうgit statusとかaddとかcommitとかできちゃいます。
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
実にシンプル!
カテゴリ: