git-internals-pdf

PDF on Git Internals (by pluralsight)

Git-internals-pdf Alternatives

Similar projects and alternatives to git-internals-pdf

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better git-internals-pdf alternative or higher similarity.

git-internals-pdf reviews and mentions

Posts with mentions or reviews of git-internals-pdf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-30.
  • What approach helped you to best learn Git?
    1 project | /r/AskProgramming | 2 Jul 2023
    For me the Peepcode Git Internals book was a great peek under the hood. I went from "Git has a lot of magical incantations" to "Git is pretty simple and I could probably build a version of it".
  • Git as a Beginner
    4 projects | /r/learnprogramming | 30 Jan 2023
    I generally recommend the Peepcode Git Internals book. The first half explains the internals of how Git works, and the second half is a command reference.
  • Git book recommendations?
    3 projects | /r/ExperiencedDevs | 20 Nov 2022
  • What Git primitives get SHA-1'd to generate a hash?
    2 projects | /r/git | 17 Oct 2022
  • How well do you guys know Git
    1 project | /r/csMajors | 1 Jun 2022
    Once you get the hang of basic Git operations, you should look into how Git works under the hood. Git Internals helped me a lot on this.
  • ⛔ Squash commits considered harmful ⛔
    1 project | dev.to | 23 May 2022
    ❯ git log --graph --pretty=oneline --abbrev-commit --all * 150c57d (HEAD -> squash-merge) Squashed commit of the following: | * 535b740 (no-squash-merge) Merge branch 'work-branch' into no-squash-merge |/| | * 1836f1c (work-branch) And more | * 4b84cfe Add more |/ * 16660f8 (main) Add more * 02a154b Initial commit ❯ git cat-file -p no-squash-merge tree 58c1fb22faa444b264e98a5ae4c4ddb07be09697 parent 16660f8b1d1538ed1b55d8533b3ee7feb68e474c parent 1836f1c53221ae701a038bf5ae380770ea911665 author Manuel Odendahl 1653304391 -0400 committer Manuel Odendahl 1653304391 -0400 Merge branch 'work-branch' into no-squash-merge * work-branch: And more Add more squash-merges-considered-harmful on  squash-merge on ☁️ ttc (us-east-1) ❯ git cat-file -p squash-merge tree 58c1fb22faa444b264e98a5ae4c4ddb07be09697 parent 16660f8b1d1538ed1b55d8533b3ee7feb68e474c author Manuel Odendahl 1653304543 -0400 committer Manuel Odendahl 1653304543 -0400 Squashed commit of the following: commit 1836f1c53221ae701a038bf5ae380770ea911665 Author: Manuel Odendahl Date: Mon May 23 07:11:08 2022 -0400 And more commit 4b84cfe11aa51da994448e602e1bc4cc6083d691 Author: Manuel Odendahl Date: Mon May 23 07:11:03 2022 -0400 Add more * ``` {% endraw %} You can see that save that both {% raw %}`squash-merge`{% endraw %} and {% raw %}`no-squash-merge`{% endraw %} point to the exact same tree. The only changed thing is the commit message, and the missing parent in the squash merge. To read more about the underpinnings of git, I can recommend just experimenting with the git command line, and the following resources: - [Building Git by James Coglan](https://shop.jcoglan.com/building-git/) - [Git Internals by Scott Chacon](https://github.com/pluralsight/git-internals-pdf) ## But the history! But Manuel, you say, the history is so much cleaner! To which I counter that it is actually not. If you want to hide the link to the right parent of the non-squash merge (as it is called, the left parent being {% raw %}`main`{% endraw %} ), all you need to do is to hide it. If you use the command-line or a proper tool, use the option to only show first parents. If you only look at the first parent, and configure your git tool to fill in a full log history of the branch into the merge commit message (I personally use the github CLI {% raw %}`gh`{% endraw %} or some git-commit hooks to do it), the squash merge commit is identical to the non squash merge commit. A favorite {% raw %}`git log`{% endraw %} command of mine to quickly look at the history of the main branch, and create a changelog: {% raw %} ```shell > git log --pretty=format:'# %ad %H %s' --date=short --first-parent --reverse # 2022-05-23 02a154bc4f0fa9bca567676d45d136619c076a95 Initial commit # 2022-05-23 16660f8b1d1538ed1b55d8533b3ee7feb68e474c Add more # 2022-05-23 535b740f42e331175f3766c1374116e329a78f7e Merge branch 'work-branch' into no-squash-merge
  • How should i go about learning git?
    1 project | /r/learnprogramming | 6 May 2022
    I often recommend the Peepcode Git Internals book. The first half talks about how Git works internally. The second half is a "how to use Git" tutorial. I think understanding the internals (which aren't really that complicated) can really help to demystify Git.
  • I was said that I do not know how Git works
    1 project | /r/learnprogramming | 9 Apr 2022
    Conceptually, Git's not really all that complicated. I always recommend people to read the Peepcode Git Internals book (originally $9, now free): https://github.com/pluralsight/git-internals-pdf/blob/master/drafts/peepcode-git.pdf
  • would pulling make sense here?
    2 projects | /r/git | 6 Feb 2022
    Check out this page if you haven't yet (alternatively, direct link to the PDF.) I hear it's all good, but the Understanding Git chapter is the one I'd specifically point you to.
  • Learn the workings of Git, not just the commands(2021)
    3 projects | news.ycombinator.com | 18 Jan 2022
    I still very much recommend the Peepcode Git Internals book.

    https://github.com/pluralsight/git-internals-pdf/releases

  • A note from our sponsor - SaaSHub
    www.saashub.com | 14 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic git-internals-pdf repo stats
22
2,479
0.0
about 1 year ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com