oh-my-git/levels/low-level/blob-create

39 lines
1,012 B
Plaintext

[description]
At its core, Git is very simple. It stores "objects", which are basically files identified by an "identifier" (short: ID).
There are four types of objects: blobs, trees, commits, and tags. The simplest type is a "blob", which is just a piece of text.
Let's create some blobs! To do that, create a file with the desired content, and then use
git hash-object -w <file>
The flag -w means "write", and tells Git to actually write the new blob to the disk.
Create three new blobs!
[congrats]
Tip: You can also use a command like this to create a blob in a single line:
echo "awesome content" | git hash-object -w --stdin
Did you already notice that you can drag and drop all objects? :)
[setup]
[setup goal]
echo "Hi" > file1
echo "Ho" > file2
echo "Hu" > file3
git hash-object -w file1
git hash-object -w file2
git hash-object -w file3
[win]
BLOB_COUNT=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep blob | wc -l)
test "$BLOB_COUNT" -gt 2