git-internals-pdf
Gogs
Our great sponsors
git-internals-pdf | Gogs | |
---|---|---|
22 | 64 | |
2,479 | 44,132 | |
0.2% | 0.6% | |
0.0 | 8.7 | |
about 1 year ago | 6 days ago | |
Ruby | Go | |
- | MIT License |
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.
git-internals-pdf
-
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
Gogs
-
Forgejo forks its own path forward
> Gitea but the other one
Wouldn't that also be Gogs? https://gogs.io/
I remember when that one was what a lot of people were looking into, before the Gitea fork happened. It's odd to see how this has happened yet again, but I guess is a good thing that it's even possible in the first place, if there are indeed differing values and goals?
-
10 open source tools that platform, SRE and DevOps engineers should consider in 2024.
Gogs - A self-hosted Git service. [Git]
- Gogs – a self hosted Git service
-
My website is one binary
Golang has a ton of single binary websites out there. The two that come to mind off hand are Gogs/Gitea only because I contributed to them
https://github.com/gogs/gogs
https://github.com/go-gitea/gitea
-
Ask HN: Gitlab or Gitea for self-hosting Git?
I did use https://gogs.io/ in the past. Was nice.
- Revolt: FOSS Discord Alternative
-
Beware Offers of “Help” with Your Projects
This reminds me of Gogs [0], where the original author refused a lot of good ideas and improvements, eventually leading to a fork [1] that's now a lot more popular and active than the original.
[0] https://gogs.io/
[1] https://gitea.io/en-us/
-
Self-hosted Git services: You don't need a huge GitLa, Gitea... just cgit!
To me i like the best GOGS https://gogs.io/. Same features like GitHub but all local and lightweight
- Let's Make Sure GitHub Doesn't Become the Only Option
-
Anyway to build my own github server at home for private use? I have hundreds of apps and want to keep them private
Gogs (https://gogs.io/)
What are some alternatives?
Crafting Interpreters - Repository for the book "Crafting Interpreters"
Gitea - Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
Bonobo Git Server - Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your git repositories. Go to homepage for release and more info.
Kalman-and-Bayesian-Filters-in-Python - Kalman Filter book using Jupyter Notebook. Focuses on building intuition and experience, not formal proofs. Includes Kalman filters,extended Kalman filters, unscented Kalman filters, particle filters, and more. All exercises include solutions.
Redmine - Mirror of redmine code source - Official Subversion repository is at https://svn.redmine.org/redmine - contact: @vividtone or maeda (at) farend (dot) jp
papers-we-love - Papers from the computer science community to read and discuss.
Gitbucket - A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility
github-cheat-sheet - A list of cool features of Git and GitHub.
Gitlab CI - GitLab CE Mirror | Please open new issues in our issue tracker on GitLab.com
JavaScript-es6-and-beyond-ebook - A comprehensive, easy-to-follow ebook to learn everything from the basics of JavaScript to ES2020. Read more on my blog https://inspiredwebdev.com or buy it here https://leanpub.com/completeguidetomodernjavascript2020. Get the course here https://www.educative.io/courses/complete-guide-to-modern-javascript?aff=BqmB [Moved to: https://github.com/AlbertoMontalesi/The-complete-guide-to-modern-JavaScript]
OpenProject - OpenProject is the leading open source project management software.