git-credential-keepassxc is a Git credential helper that allows Git (and shell scripts) to get/store logins from/to KeePassXC.
It communicates with KeePassXC using keepassxc-protocol, which was originally designed for browser extensions.
ForgeFed is a federation protocol for software forges and code collaboration tools for the software development lifecycle and ecosystem. This includes repository hosting websites, issue trackers, code review applications, and more. ForgeFed provides a common substrate for people to create interoperable code collaboration websites and applications.
Federation means that these websites can interact, allowing the humans using them to interact too, despite being registered on different websites. For example, imagine you could host your Git repos anywhere you want, perhaps even your own personal website, but still be able to open issues and submit pull requests against other people's repos hosted elsewhere, without having to create accounts on those other websites!
Without federation, we end up having to choose between:
- Centralizing into huge profit-oriented websites, where we're powerless
- Hosting our code on a small website where we're in control and freedom but isolated from the community
With federation, all the websites now communicate with each other to form a network and community of collaboration in which we're all both free and connected. It puts the power back into our hands to create tools and collaborate in ways that are aligned with human needs, powerful and safe ways that allow us to include everyone and that don't depend on some big company's policies or some website suddenly shutting down. Let's create the future together!
Kea Features
- Separate DHCPv4, DHCPv6 and Dynamic DNS servers (run only the applications you are using)
- Leases and host reservations can be stored in a local file (default) or optionally in a MySQL, Postgres or Cassandra database
- IPv6 prefix delegation
- Most popular options supported, including PXE boot
- Shared networks
- Applications API, with multiple application extensions available from ISC
- On-line configuration. It is possible to update the configuration file and tell the servers to reload configuration without restarting the system.
- Ample, documented statistics
- REST api for remote management
- High performance, with up to ~5000 leases per second (default), ~500 leases per second (with optional database backend)
- Supported on Linux, BSD and Mac OS X operating systems


git-flow cheatsheet created by Daniel Kummer
efficient branching using git-flow by Vincent Driessen
A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model. This fork adds functionality not added to the original branch.
Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.
Forgejo is a self-hosted lightweight software forge.
Easy to install and low maintenance, it just does the job.
Brought to you by an inclusive community under the umbrella of Codeberg e.V., a democratic non-profit organization, Forgejo can be trusted to be exclusively Free Software. It includes and cooperates with hundreds of projects (Gitea, Git, ...) and is focused on scaling, federation and privacy.
Molecule project is designed to aid in the development and testing of Ansible roles.
Molecule provides support for testing with multiple instances, operating systems and distributions, virtualization providers, test frameworks and testing scenarios.
Molecule encourages an approach that results in consistently developed roles that are well-written, easily understood and maintained.
Molecule supports only the latest two major versions of Ansible (N/N-1), meaning that if the latest version is 2.9.x, we will also test our code with 2.8.x.
Once installed, the command line can be called using any of the methods below:
molecule ...
python3 -m molecule ... # python module calling method
Welcome to the Git crash course for SVN users! This introduces you to Git based on your current Subversion knowledge. If you want to migrate your company from SVN to Git, see the SVN migration page. If you want a list of common commands, see the Git Cheat Sheet (or the git-svn guide if you are using Git as a subversion client. Many non-SVN-specific guides are also available. This crash course is based on Pasky's unmaintained version.

git filter-repo is a versatile tool for rewriting history, which includes capabilities I have not found anywhere else. It roughly falls into the same space of tool as git filter-branch but without the capitulation-inducing poor performance, with far more capabilities, and with a design that scales usability-wise beyond trivial rewriting cases. git filter-repo is now recommended by the git project instead of git filter-branch.
While most users will probably just use filter-repo as a simple command line tool (and likely only use a few of its flags), at its core filter-repo contains a library for creating history rewriting tools. As such, users with specialized needs can leverage it to quickly create entirely new history rewriting tools.
Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket, and GitLab. Gitea is a fork of Gogs. See the Gitea Announcement blog post to read about the justification for a fork.
![]()
I use Git on a practically daily basis, and although it comes with just about everything including the proverbial kitchen sink, there are a few bits of functionality that I only wish it had. Luckily, Git’s functionality is almost indefinitely extensible via the use of aliases.
So, here are some that I define in my ~/.gitconfig file, with a brief explanation of what they’re good for:
Vincent Driessen’s “git flow” branching model is a git branching and release management workflow that helps developers keep track of features, hotfixes, and releases in bigger software projects. This workflow involves many commands to type and remember. The git-flow library of git subcommands can help by automating some parts of the flow to make working with it easier.
GitLens supercharges the Git capabilities built into VS Code. Whether you’re a seasoned Git developer or just getting started, GitLens makes it easier, safer and faster to leverage the full power of Git. This GitLens tutorial will show you how to use GitLens in VS Code and get the most out of the tool. Sign up for GitLens+ to get the most out of your experience - it’s free: OpenVSX: GitLens
- 0:00 Welcome to GitLens
- 0:17 Inline Blame and Hover Support
- 0:49 File Blame
- 1:43 Git CodeLens
- 2:15 Sidebar Views
- 3:01 Customize your experience
For the longest time, the default branch in most Git repositories was named "master". Fortunately, many people have become aware that this terminology (even more evident in "master/slave") should be replaced! The tech industry should move to a more inclusive, open culture - and removing language like "master/slave" is an important step in this journey.
In the public discussion, a handful of different alternatives for "master" have popped up, "default" and "primary" being some of them. But the most popular term seems to be "main".
This short article will help you rename "master" in your own Git repositories to "main" (or any other term your team has chosen).
git branch -m master main
git push -u origin main
git push origin --delete master
Teammates:
git checkout master
git branch -m master main
git fetch
git branch --unset-upstream
git branch -u origin/mainGit hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.
As we created more libraries and projects we recognized that sharing our pre-commit hooks across projects is painful. We copied and pasted unwieldy bash scripts from project to project and had to manually change the hooks to work for different project structures.
We believe that you should always use the best industry standard linters. Some of the best linters are written in languages that you do not use in your project or have installed on your machine. For example scss-lint is a linter for SCSS written in Ruby. If you’re writing a project in node you should be able to use scss-lint as a pre-commit hook without adding a Gemfile to your project or understanding how to get scss-lint installed.
We built pre-commit to solve our hook issues. It is a multi-language package manager for pre-commit hooks. You specify a list of hooks you want and pre-commit manages the installation and execution of any hook written in any language before every commit. pre-commit is specifically designed to not require root access. If one of your developers doesn’t have node installed but modifies a JavaScript file, pre-commit automatically handles downloading and building node to run eslint without root.
Die tägliche Kommunikation in deutschen Entwicklungsteams, die git (übersetzt: Schwachkopf oder Depp) anwenden, ist oft das feinste Denglish. "Kannst du bitte pullen" oder "Hast du gepusht" sind nur zwei der oft seltsam klingenden Konstruktionen.
Git auf Deutsch schafft Abhilfe!
Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike.
Der Verlag Open Source Press hat zum 31.12.2015 den Betrieb eingestellt und sämtliche Rechte an den veröffentlichten Texten an die Autoren zurückübertragen. Wir haben uns entschieden, den vollen Text des Buches sowie die AsciiDoc-Quellen unter einer CreativeCommons-Lizenz frei zugänglich zu machen. Alternativ zu der Online-HTML-Version gibt es eine PDF- und EPUB-Version.
Außerdem haben wir die Quellmaterialien der Foliensätze, die wir die vergangenen Jahre für firmeninterne Schulung benutzt haben, auch unter einer CC-Lizenz veröffentlicht. Zusammen mit dem Buch stellen sie eine umfassende Materialsammlung zum Erlernen und Lehren von Git dar.
Fragen, Kritik, Anmerkungen? – Wir freuen uns über E-Mails an kontakt@gitbu.ch!
GitPython is a python library used to interact with git repositories, high-level like git-porcelain, or low-level like git-plumbing.
It provides abstractions of git objects for easy access of repository data, and additionally allows you to access the git repository more directly using either a pure python implementation, or the faster, but more resource intensive git command implementation.
The object database implementation is optimized for handling large quantities of objects and large datasets, which is achieved by using low-level structures and data streaming.