clojure-cookbook
This is the home of O'Reilly's Clojure Cookbook - http://clojure-cookbook.com (by clojure-cookbook)
git-internals-pdf
PDF on Git Internals (by pluralsight)
clojure-cookbook | git-internals-pdf | |
---|---|---|
2 | 22 | |
2,570 | 2,479 | |
0.2% | 0.0% | |
0.0 | 0.0 | |
4 months ago | about 1 year ago | |
Clojure | Ruby | |
- | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
clojure-cookbook
Posts with mentions or reviews of clojure-cookbook.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-23.
-
Free 500+ books and learning resources for every programmer.
Clojure Cookbook
-
Memory-map files instead of slurping
Since it's encoded as edn, you could use clojure.edn/read with a file stream and read from the file as in https://github.com/clojure-cookbook/clojure-cookbook/blob/master/04_local-io/4-14_read-write-clojure-data-structures.asciidoc . The edn-seq function defined at https://stackoverflow.com/questions/15234880/how-to-use-clojure-edn-read-to-get-a-sequence-of-objects-in-a-file is also viable if you are lazily reading and processing using sequences.
git-internals-pdf
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?
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
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?
- What Git primitives get SHA-1'd to generate a hash?
-
How well do you guys know Git
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 ⛔
❯ 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?
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
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?
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)
I still very much recommend the Peepcode Git Internals book.
https://github.com/pluralsight/git-internals-pdf/releases