mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-13 19:04:54 +01:00
39 lines
1,012 B
Text
39 lines
1,012 B
Text
|
[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
|