Forgejo – Beyond coding. We forge.
https://forgejo.org/
Forgejo is a self-hosted lightweight software forge.
Easy to install and low maintenance, it just does the job.
Don't couple your Go code to GitHub | Iain Cambridge
https://iain.rocks/blog/dont-couple-your-go-code-to-github
The main problem with using your git hosting location is that your code is now coupled to a hosting provider. That is, if you move your git hosting to GitLab then you have to change your code! Otherwise, you’ll be fetching the old verison. This can result in you being unable to change git hosting provider because the amount of overhead in switching. So you literally end up with your code coupled to GitHub. Which sounds completely nuts, but it’s something that is pretty much defacto in the Go community.
GitHub is sinking – David Bushell – Web Dev (UK)
https://dbushell.com/2026/04/29/github-is-sinking/
GitHub is racing towards the mythical zero nines of uptime. Users are starting to notice that GitHub is now a Microsoft product. Eww!
Official uptime paints a concerning chart. The missing status page tell a far worse story. Whatever the truth, it’s impossible to miss the delightful experience that is Microsoft GitHub if you use it semi-regularly.
Radicle: the sovereign forge
https://radicle.xyz/
Radicle is an open source, peer-to-peer code collaboration stack built on Git. Unlike centralized code hosting platforms, there is no single entity controlling the network. Repositories are replicated across peers in a decentralized manner, and users are in full control of their data and workflow.
git-pages/git-pages: Scalable static site server for Git forges (like GitHub Pages) - Codeberg.org
https://codeberg.org/git-pages/git-pages
git-pages is a static site server for use with Git forges (i.e. a GitHub Pages replacement). It is written with efficiency in mind, scaling horizontally to any number of deployed sites and concurrent requests and serving sites up to hundreds of megabytes in size, while being equally suitable for single-user deployments.
Grebedoc — static site hosting for git forges
https://grebedoc.dev/
In short: a service that publishes the pages branch in your Git repository as a website on your domain; think GitHub Pages if it was open source and community operated.
More specifically, it is a public deployment of git-pages and Caddy configured to work especially with Codeberg but also with other Git forges. It is operated by Catherine 'whitequark' and teammates, and currently deployed using Rage4 anycast infrastructure routing to VPSes in six regions (Europe, North America East, North America West, South America, East Asia, Australia), with site contents stored on Tigris and backed up to Wasabi.
cdzombak/newt at dzombak.com
https://github.com/cdzombak/newt?ref=dzombak.com
Manage Git worktrees with ease. newt is a simple wrapper around Git worktrees that automatically organizes them in a .newt/ directory, provides merge status tracking, and handles deletion.
You already have a git server: (Maurycy's blog)
https://maurycyz.com/misc/easy_git/
If you have a git repository on a server with ssh access, you can just clone it:
Simple automated deployments using git push
https://garrido.io/notes/simple-automated-deployments-git-push/
Using git push remains one of my favorite ways of deploying software. It’s simple, effective, and you can stretch it significantly until you need more complex workflows.
I’m not referring to using git push to trigger a Github action which builds and deploys software. I’m talking about using git push web main to deploy your main branch to a server that you’ve named web.
My self-hosted Forgejo runner setup | I do what I can
https://mteixeira.wordpress.com/2025/02/03/my-self-hosted-forgejo-runner-setup/
In this (very long post) I will be demonstrating how I have setup my self-hosted Forgejo runners at home using Docker Compose, Docker-in-Docker and a bonus LXC. To demonstrate with a practical example, I will be building an Ansible Execution environment, to be used in my home lab automation. There will be two versions of it: a single node, and a dual node build. Both will result in the images for two platforms/architectures (AMD64 and ARM64).
meks.quest
https://meks.quest/blogs/the-theatre-of-pull-requests-and-code-review
A key part of having a reviewable PR is writing commits that tell a story. Present your changes incrementally and logically so reviewers can follow your thought process. Generic commit messages such as "add dependency," "implement file upload feature," and "address PR feedback" don’t tell much of a story and leave reviewers guessing. Why was the dependency added? What were the specific steps in creating the file uploader feature? What feedback is being addressed?
Git exclude, a handy feature you might not know about / Marijke Luttekes
https://marijkeluttekes.dev/blog/articles/2025/09/03/git-exclude-a-handy-feature-you-might-not-know-about/
Exclude is particularly handy when you want to keep personal, non-standard files in a repository that is not yours, and where you cannot update its ignore files willy-nilly.
Setting up cgit with Caddy v2 - SixFoisNeuf
https://www.sixfoisneuf.fr/posts/setting-up-cgit-with-caddy2/
cgit - A hyperfast web frontend for git repositories written in C.
https://git.zx2c4.com/cgit/about/
Modifying Other People's Software | natkr's ramblings
https://natkr.com/2025-08-14-modifying-other-peoples-software/
What if we could just.. import our patchset into Git, at the start of our session, and then export it back out as a series of patch files when we're done? That way we're effectively following the commandments of The Holy Quiltmother, but still get to keep our familiar Git UI.
charmbracelet/soft-serve: The mighty, self-hostable Git server for the command line🍦
https://github.com/charmbracelet/soft-serve
The mighty, self-hostable Git server for the command line🍦
The Perfect Commit
https://simonwillison.net/2022/Oct/29/the-perfect-commit/
The commit is our principle unit of work. It deserves to be treated thoughtfully and with care.
Working with stacked branches in Git is easier with --update-refs
https://andrewlock.net/working-with-stacked-branches-in-git-is-easier-with-update-refs/
In this post I described the new --update-refs feature for rebasing in Git 2.38. I introduced the concept of stacked branches and stacked PRs, and why I like them for feature development. Unfortunately, keeping stacked branches up to date can be quite arduous, requiring a lot of tricky rebasing. with --update-refs the commands are significantly simplified, as I showed in various scenarios. You can even enable --update-refs by default, so that all your rebases use it!
It's Now Possible To Sign Arbitrary Data With Your SSH Keys
https://www.agwa.name/blog/post/ssh_signatures
Did you know that you can use the ssh-keygen command to sign and verify signatures on arbitrary data, like files and software releases?
How to Sign git Commits with an SSH key - The New Stack
https://thenewstack.io/how-to-sign-git-commits-with-an-ssh-key/
By using signing in SSH commits, you can more easily verify that each commit was submitted by a legitimate developer and not an impostor.
How to Sign git Commits with an SSH key - The New Stack
https://thenewstack.io/how-to-sign-git-commits-with-an-ssh-key
By using signing in SSH commits, you can more easily verify that each commit was submitted by a legitimate developer and not an impostor.
Your Git Repository in a Database: Pluggable Backends in libgit2
http://blog.deveo.com/your-git-repository-in-a-database-pluggable-backends-in-libgit2/
You can actually use a relational or a NoSQL database, or an in-memory data structure, or something like Amazon S3. This is made possible by the pluggable backends provided by the libgit2 library.
Your Git Repository in a Database: Pluggable Backends in libgit2
http://blog.deveo.com/your-git-repository-in-a-database-pluggable-backends-in-libgit2
You can actually use a relational or a NoSQL database, or an in-memory data structure, or something like Amazon S3. This is made possible by the pluggable backends provided by the libgit2 library.
Contributing to Atom
https://atom.io/docs/latest/contributing#git-commit-messages
Use the present tense ("Add feature" not "Added feature")
Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
Limit the first line to 72 characters or less
Reference issues and pull requests liberally
Consider starting the commit message
Moving Files from one Git Repository to Another, Preserving History | Greg Bayer
http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/
Moving Files from one Git Repository to Another, Preserving History | Greg Bayer
http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history
git-notes(1)
https://www.kernel.org/pub/software/scm/git/docs/git-notes.html
Adds, removes, or reads notes attached to objects, without touching the objects themselves.
technoweenie/madrox · GitHub
https://github.com/technoweenie/madrox
Distributed Twitter implementation in Git
pauldowman/gitmodel · GitHub
https://github.com/pauldowman/gitmodel
lmorchard starred pauldowman/gitmodel
libgit2/node-gitteh · GitHub
https://github.com/libgit2/node-gitteh
lmorchard starred libgit2/node-gitteh
rasca/django-hierarchical-auth · GitHub
https://github.com/rasca/django-hierarchical-auth
lmorchard starred rasca/django-hierarchical-auth
Note to Self - Git
http://git-scm.com/blog/2010/08/25/notes.html
Wouldn't it be nice if you could add data to a commit without changing its SHA? If only there existed an external mechanism to attach data to a commit without modifying the commit message itself. Happy day! It turns out there exists just such a feature in newer versions of Git! As we can see from the Git 1.6.6 release notes where this new functionality was first introduced:
Welcome to pygit2’s documentation! — pygit2 0.18.1 documentation
http://www.pygit2.org/
Pygit2 is a set of Python bindings to the libgit2 shared library, libgit2 implements the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3
Welcome to pygit2’s documentation! — pygit2 0.18.1 documentation
http://www.pygit2.org
Pygit2 is a set of Python bindings to the libgit2 shared library, libgit2 implements the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3
libgit2
http://libgit2.github.com/
libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.
libgit2
http://libgit2.github.com
libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.
Git the NoSQL Database by Brandon Keepers - YouTube
http://www.youtube.com/watch?v=fjN4c4RWiV0
Favorite: Git the NoSQL Database by Brandon Keepers, by Confreaks
Jekyll • Simple, blog-aware, static sites
http://jekyllrb.com/
Transform your plain text into static websites and blogs.
Jekyll • Simple, blog-aware, static sites
http://jekyllrb.com
Transform your plain text into static websites and blogs.
GitHub Pages
http://pages.github.com/
GitHub Pages are hosted for free and easily published through our site, the GitHub for Mac app, or from the command line. Manage your site’s content from GitHub using the tools and workflow that you’re familiar with. Learn about publishing with GitHub Pages here.
GitHub Pages
http://pages.github.com
GitHub Pages are hosted for free and easily published through our site, the GitHub for Mac app, or from the command line. Manage your site’s content from GitHub using the tools and workflow that you’re familiar with. Learn about publishing with GitHub Pages here.
git-notes(1) Manual Page
http://git-scm.com/docs/git-notes
Adds, removes, or reads notes attached to objects, without touching the objects themselves.
Checkout github pull requests locally
https://gist.github.com/piscisaureus/3342247
Checkout github pull requests locally
GITLAB: Self Hosted Git Management Application
http://gitlab.org/
Self hosted Git management software
GITLAB: Self Hosted Git Management Application
http://gitlab.org
Self hosted Git management software
Git Tips From the Pros | Nettuts+
http://net.tutsplus.com/tutorials/tools-and-tips/git-tips-from-the-pros/
Git Tips From the Pros | Nettuts+
http://net.tutsplus.com/tutorials/tools-and-tips/git-tips-from-the-pros
Leave git diff result in the terminal - Stack Overflow
http://stackoverflow.com/questions/14004039/leave-git-diff-result-in-the-terminal
export LESS=eFRX
Víctor Martínez : Take a photo of yourself every time you commit
http://coderwall.com/p/xlatfq
Never Use Source Control GUIs! « late.am
http://late.am/post/2011/09/27/never-use-source-control-guis
In 5 years, something like 90% of the source control mishaps I’ve seen can be attributed to GUIs hiding complexity of what they’re doing. Git can be a beast to learn, for sure; but at least once you develop an intuition, you can be reasonably safe in performing even advanced operations at the command line tool, in a way I’ve never felt (or felt from co-workers) about GUI tools.
mroth/lolcommits
https://github.com/mroth/lolcommits
Takes a snapshot with your Mac's built-in iSight/FaceTime webcam (or any working webcam on Linux) every time you git commit code, and archives a lolcat style image with it.
ArchiveTeam/warrior-code
https://github.com/ArchiveTeam/warrior-code
git-annex
http://git-annex.branchable.com/
git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.
git-annex
http://git-annex.branchable.com
git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.
dulwich - Python implementation of Git — dulwich 0.8.4 documentation
http://www.samba.org/~jelmer/dulwich/docs/
It aims to give an interface to git repos (both local and remote) that doesn’t call out to git directly but instead uses pure Python.
dulwich - Python implementation of Git — dulwich 0.8.4 documentation
http://www.samba.org/~jelmer/dulwich/docs
It aims to give an interface to git repos (both local and remote) that doesn’t call out to git directly but instead uses pure Python.
#reviewth.is @github
http://reviewth.is/
GitHub gives us almost everything we need to do code reviews. Commit, file and line level comments, comment notifications, plus everything else that makes the GitHub experience great. The only thing missing is an easy way to initiate a review. If I want my code to be reviewed, I’ve got to go to GitHub, get the URL (and any other info), then compose an email to everyone I want to review it.
#reviewth.is @github
http://reviewth.is
GitHub gives us almost everything we need to do code reviews. Commit, file and line level comments, comment notifications, plus everything else that makes the GitHub experience great. The only thing missing is an easy way to initiate a review. If I want my code to be reviewed, I’ve got to go to GitHub, get the URL (and any other info), then compose an email to everyone I want to review it.
node_modules in git
http://www.mikealrogers.com/posts/nodemodules-in-git.html
Everyone I’ve told this too tells me I’m an idiot and then a few weeks later tells me I was right and checking node_modules in to git has been a blessing to deployment and development. It’s objectively better, but here are some of the questions/complaints I seem to get.
Moving from SVN to Git in 1,000 easy steps! « Code as Craft
http://codeascraft.etsy.com/2011/12/02/moving-from-svn-to-git-in-1000-easy-steps
Overall we can say the Git migration was a success. It turned out to be an immense task with a maze of dependencies, but in the end we’re on a current version control system that should last for years to come. It opens up many new workflow possibilites and solves some of our existing problems, not to mention it’s blazing fast. If you’re more interested in the technical instead of the social migration of SVN to Git, I wrote a blog post a few years ago on my personal blog that you may be interested in, and there’s also a couple of pointers over on github on how to make the conversion.
Your Community is NOT Your Tools. @ iBanjo
http://blog.red-bean.com/sussman?p=597
(Note the ASF isn’t alone in this insanity. Others have told me that FSF projects are forced to use the Savannah collaborative platform, whether they want to or not. Crazy! Repeat after me, folks: your community is not your tools.)
Open Source (Almost) Everything
http://tom.preston-werner.com/2011/11/22/open-source-everything.html
Should we open source Grit or keep it proprietary?
Keeping it private would provide a higher hurdle for competing Ruby-based Git hosting sites, giving us an advantage. Open sourcing it would mean thousands of people worldwide could use it to build interesting Git tools, creating an even more vibrant Git ecosystem.
After a small amount of debate we decided to open source Grit. I don't recall the specifics of the conversation but that decision nearly four years ago has led to what I think is one of our most important core values: open source (almost) everything.
tpope's vim-fugitive at master - GitHub
https://github.com/tpope/vim-fugitive
Using Git to manage a web site
http://toroid.org/ams/git-website-howto
"The HTML source for my (i.e., this) web site lives in a Git repository on my local workstation. This page describes how I set things up so that I can make changes live by running just "git push web". "
Persistent Trees in git, Clojure and CouchDB « EclipseSource Blog
http://eclipsesource.com/blogs/2009/12/13/persistent-trees-in-git-clojure-and-couchdb-data-structure-convergence
"This is a tale of three images. I found these images while investigating the internals of several different applications. There are some really neat software projects emerging at the moment, and as a developer I always find it interesting to take a look at the implementation details, because there is often a lot to be learned. It’s not always something you might need right now, but maybe a few years down the line you may be confronted with a similar problem. Plus – in my opinion – knowing a bit about the internals of a program helps reasoning about its behaviour."
How to submit a fix to jQuery UI – The Easy Way « jQuery UI Blog
http://blog.jqueryui.com/2010/05/how-to-submit-a-fix-to-jquery-ui-the-easy-way
"Let’s walk through the easy way, where you don’t need to learn how to really use git. In another post, we’ll cover some best practices for contributing with git."
Pro Git - Smart HTTP Transport
http://progit.org/2010/03/04/smart-http.html
"I think HTTP based Git will be a huge part of the future of Git, so if you’re running your own Git server, you should really check it out. If you’re not, GitHub and I’m sure other hosts will soon be supporting it - upgrade your Git client to 1.7ish soon so you can take advantage of it when it happens."
geewax.org | Agile git Workflow
http://geewax.org/2009/11/21/agile-git-workflow.html
"Agile" is kind of a dirty word in some circles, but this describe some actually agile ways to deal with revision control using git. "When we started using git to manage our source code at work, we actually jumped in a little bit too fast. It seems like there is a lot of writing about how you can do lots of really neat things with git, but no real guide about one particular way of using git for your project. This post is going to describe how we use git day to day on a reasonably large “agile-style” project."
cloudhead.io
http://cloudhead.io/toto
"toto is a git-powered, minimalist blog engine for the hackers of Oz. The engine weighs around ~230 sloc at its worst. There is no toto client, at least for now; everything goes through git."
In praise of git’s index // plasmasturm.org
http://plasmasturm.org/log/gitidxpraise
"So what is the index good for?"
Patchwork - Web-based patch tracking system
http://ozlabs.org/~jk/projects/patchwork
"Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.
Patches that have been sent to a mailing list are 'caught' by the system, and appear on a web page. Any comments posted that reference the patch are appended to the patch page too. "
nvie.com » Blog Archive » A successful Git branching model
http://nvie.com/archives/323
"In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management."
gource - Project Hosting on Google Code
http://code.google.com/p/gource
"Gource is a software version control visualization tool."
Google Open Source Blog: Export a Git Project to Google Code
http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-code.html
"Git and Subversion can work together in many ways. Previously, we showed how Git users can work with a project primarily managed by Subversion. In this post, we describe one way to handle the converse: Google Code acts as a stable read-only Subversion mirror of a Git project. In this model, patches are first applied to the central Git repository and exported to Google Code later."
Git: The Lean, Mean, Distributed Machine
http://www.slideshare.net/err/git-machine
"git The Lean Mean Distributed Machine By Chris Wanstrath anyway, i want to talk a bit about git today"
git-svn and cherry picking - chrisortman
http://codeprairie.net/blogs/chrisortman/archive/2008/04/08/git-svn-and-cherry-picking.aspx
"git cherry-pick -n $SHA
What this will do is stage the changes but not commit. Now I can git-commit myself and remove the git-svn-id line."
pre dev wiki: Applying Patches
http://predev.wikidot.com/applying-patches
Show git branches by date - useful for showing active branches | commandlinefu.com
http://www.commandlinefu.com/commands/view/2345/show-git-branches-by-date-useful-for-showing-active-branches
"Print out list of all branches with last commit date to the branch, including relative time since commit and color coding."
Hg-Git Mercurial Plugin - GitHub
http://github.com/blog/439-hg-git-mercurial-plugin
Tracking an entire Windows sytem inside Git - apenwarr - Business is Programming
http://alumnit.ca/~apenwarr/log?m=200901#21
A web-focused Git workflow
http://joemaller.com/2008/11/25/a-web-focused-git-workflow
"The key idea in this system is that the web site exists on the server as a pair of repositories; a bare repository alongside a conventional repository containing the live site. Two simple Git hooks link the pair, automatically pushing and pulling changes between them. "
YUI on GitHub — GitHub
http://github.com/blog/262-yui-on-github
"That’s right! As mentioned in their YUIDoc announcement, Yahoo’s User Interface Library is now hosted publicly on GitHub at http://github.com/yui."
Why Git is Better Than X
http://whygitisbetterthanx.com/#easy-to-learn
"This site is here because I seem to be spending a lot of time lately defending Gitsters against charges of fanboyism, bandwagonism and koolaid-thirst. So, here is why people are switching to Git from X, and why you should too. Just click on a reason to view it. "
woid's firepython at master — GitHub
http://github.com/woid/firepython/tree/master
"Python logging console for Firebug"
git-submodule(1)
http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html
"Submodules allow foreign repositories to be embedded within a dedicated subdirectory of the source tree, always pointed at a particular commit."
Alan’s Kiloblog » GitHub and Git: Sharing Your Code, for What It’s Worth, Without a Begging Entry into Open Source Communities
http://kiloblog.com/post/sharing-code-for-what-its-worth
GitHub RubyGems
http://gems.github.com
"RubyGems is a package manager for Ruby. At GitHub, we've tried to make the process of building and releasing new gems as simple as possible. Please see the documentation below on how to use the system."
Ubiquitous Gists — GitHub
http://github.com/blog/158-ubiquitous-gists
iBanjo » Blog Archive » Subversion’s Future?
http://blog.red-bean.com/sussman?p=90
"The Subversion project shouldn't spend any more time trying to make Subversion a better version control tool for non-huge open source projects."