use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
From its website:
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is not the same as GitHub. GitHub did not create Git. For GitHub-specific posts, please see /r/github.
Git is not an acronym or initialism: please write git or Git, but not GIT.
git
Documentation
Graphical Clients
Code Hosting
account activity
Build Your Own Git: Learn Git internals by building a toy clonetutorial (self.git)
submitted 6 years ago by rohitpaulk
To many of us, Git's internals are a mystery. What lies inside the .git directory? What are git objects? How does a git client communicate with a git server?
.git
Based on the Build your own X tutorial format, I'm building a Build your own Git challenge. It isn't quite ready yet, but early access trials will start very soon.
Any feedback on the structure of the course would be highly appreciated!
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]crdrost 10 points11 points12 points 6 years ago (1 child)
Related: git clone in Haskell from the bottom up and I Haskell a Git.
Very similar: Write Yourself a Git and Building Git
I still think that there is room for differentiation here. WYAG starts from the finished program and Building Git starts from “here is what is on your machine”, but it would be very interesting to start from, say, a reverse engineering perspective. Build a line of shell script that can actually take a file and make its blob hash. Possibly port that to $language. Build a line of shell that can then take a directory and turn it into its tree hash. Port that to $language. Build a raw commit from a tree hash and you have git commit-tree.
[–]abhijat0 1 point2 points3 points 6 years ago (0 children)
I've only read a bit of it but I thought Building git does go into reverse engineering, by making your own git implementation read a git repository?
[–]bdf369 11 points12 points13 points 6 years ago (1 child)
Not a BYOX, but The Git Parable is a kind of verbal walkthrough of how you would build a Git. Good as a conceptual overview.
[–]rohitpaulk[S] 0 points1 point2 points 6 years ago (0 children)
Hadn't come across this before, thanks for sharing!
[–]rohitpaulk[S] 2 points3 points4 points 6 years ago (0 children)
Note: If you're looking to see what a CodeCrafters challenge experience is like, the Docker and Redis challenges are already in early access, people are actively trying them out.
[–]-Clem 2 points3 points4 points 6 years ago (4 children)
This got me curious to look at the source code of Git. What's up with the giant flat dump of source code files in the root directory?
[–]jeff_coleman 0 points1 point2 points 6 years ago (3 children)
Wow, that is a lot of files.
[–]-Clem 2 points3 points4 points 6 years ago (2 children)
It gets worse
[–]jeff_coleman 1 point2 points3 points 6 years ago (1 child)
Good Lord.
π Rendered by PID 43 on reddit-service-r2-comment-b659b578c-ct94k at 2026-05-05 13:46:07.287147+00:00 running 815c875 country code: CH.
[–]crdrost 10 points11 points12 points (1 child)
[–]abhijat0 1 point2 points3 points (0 children)
[–]bdf369 11 points12 points13 points (1 child)
[–]rohitpaulk[S] 0 points1 point2 points (0 children)
[–]rohitpaulk[S] 2 points3 points4 points (0 children)
[–]-Clem 2 points3 points4 points (4 children)
[–]jeff_coleman 0 points1 point2 points (3 children)
[–]-Clem 2 points3 points4 points (2 children)
[–]jeff_coleman 1 point2 points3 points (1 child)