7

Learn Git Internals

 4 years ago
source link: https://codecrafters.io/learn-git-internals
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

For many of us, how Git works under the hood is a mystery.

  • What is the .git directory used for?

  • What are Git objects?

  • How does a Git client communicate with a Git server?

If one really wanted to understand this topic better, these are some of the resources they’d probably look at:

I’ve read all of these, and I know that they aren’t the easiest to follow. They’re often theory-heavy with no code examples, or 2000 word+ series that can get hard to keep up with.

Here’s the part where I offer you a better solution.

The CodeCrafters’ Build your own Git challenge is a hands-on challenge where you’ll learn Git internals by building a small Git implementation. The application you build will be capable of cloning a public repository, committing changes and pushing them back to a Git server.

E36JjmA.png!web

You’ll proceed stage by stage, starting with simple stages like “Initialize a repository” and eventually building up to a minimal-featured Git implementation that can interact with a public repository. Along the way, you’ll learn about the .git directory , a few of Git’s “plumbing” commands , Git objects (blobs, commits, trees etc.), Git’s transfer protocols and more.

You’re free to use any programming language of your choice, and work from the comfort of your own editor. Submit code via a git push once ready, and we’ll stream test results directly to your terminal.

You’ll also get to chat & compete with like-minded folks in the process. (We run 1-week long sessions, attempt at your own pace)

vY73Arq.png!web

Sounds like your jam? Checkout ourearly access program!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK