Last active
December 19, 2015 07:59
-
-
Save mindjiver/5922618 to your computer and use it in GitHub Desktop.
Git from scratch. How to create a git repository and a first commit by only using plumbing commands.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ mkdir git-from-scratch | |
$ cd git-from-scratch | |
$ mkdir -p .git/refs/{heads,tags} | |
$ mkdir -p .git/objects/ | |
$ echo "ref: refs/heads/master" >> .git/HEAD | |
$ git status | |
# On branch master | |
# | |
# Initial commit | |
# | |
nothing to commit (create/copy files and use "git add" to track) | |
$ echo "Hello, this is my first commit" | git hash-object -w --stdin | |
a93cc606fd7975c75562182a67bddd55bbff566f | |
$ find .git | |
.git | |
.git/HEAD | |
.git/objects | |
.git/objects/a9 | |
.git/objects/a9/3cc606fd7975c75562182a67bddd55bbff566f | |
.git/refs | |
.git/refs/heads | |
.git/refs/tags | |
$ git write-tree 100644 blob a93cc606fd7975c75562182a67bddd55bbff566f my_first_git_file.txt | |
4b825dc642cb6eb9a060e54bf8d69288fbee4904 | |
$ find .git | |
.git | |
.git/HEAD | |
.git/index | |
.git/objects | |
.git/objects/4b | |
.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 | |
.git/objects/a9 | |
.git/objects/a9/3cc606fd7975c75562182a67bddd55bbff566f | |
.git/refs | |
.git/refs/heads | |
.git/refs/tags | |
$ git commit-tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 -m "initial commit." | |
48139d14e5cd5314b0c66badffe11ade1992770e | |
$ find .git | |
.git | |
.git/HEAD | |
.git/index | |
.git/objects | |
.git/objects/4b | |
.git/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 | |
.git/objects/79 | |
.git/objects/79/57b464814b97dd14c1f2a0b82fb930433ca9b3 | |
.git/objects/a9 | |
.git/objects/a9/3cc606fd7975c75562182a67bddd55bbff566f | |
.git/refs | |
.git/refs/heads | |
.git/refs/tags | |
$ git update-ref refs/heads/master 48139d14e5cd5314b0c66badffe11ade1992770e | |
$ git log | |
commit 48139d14e5cd5314b0c66badffe11ade1992770e | |
Author: Peter Jönsson <peter.joensson@gmail.com> | |
Date: Wed Jul 3 22:38:30 2013 +0200 | |
initial commit. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment