Click here to Skip to main content
15,903,856 members
Articles / DevOps

Git: How to Create Repository From Scratch

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
26 Dec 2015CPOL1 min read 10.5K   4   1
This tip describes steps for creating git repository without git init command.


I believe this tip will useful for all who use git and want to know more about git internal details.

I aimed to create minimal valid ".git" directory. At the end of my steps, "git status" command should be happy with handmade structure of ".git" directory.


Internal details are very useful to keep in mind when using Git.

Creating Repository

First of all, create "repo" directory. Inside this directory, we will create several folders and one file. And after that, git will be satisfied.

Before start, we ask git about "repo" with "status" command.

git status

We get the following answer:

fatal: Not a git repository (or any of the parent directories): .git

As you can see, git isn't happy.

So we will try to make git happy about our directory.

  1. Create ".git" directory inside "repo". Our repository will located here.
  2. Create "objects" directory inside ".git". This directory will contain our commits.
  3. Create "refs" directory inside ".git". This directory will contain branches.
  4. And last one but not the least. Create file "HEAD" inside ".git" with content "ref: refs/heads/master". This is a pointer on current branch.

It's all what we need.

Ask again git about "repo".

git status

Git's answer on it.

On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)

Git now happy!

We've created git repository without "init" command.


  • 27.12.2015 Initial version


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Written By
Software Developer (Senior)
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

Praisethis trick works Pin
Southmountain6-Jul-21 10:47
Southmountain6-Jul-21 10:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.