This commit is contained in:
2025-07-18 23:13:11 +02:00
parent c9485bf576
commit 652812eed0
2354 changed files with 1266414 additions and 1 deletions

419
html/git.html Normal file
View File

@@ -0,0 +1,419 @@
<figure>
<img src="cover.png" alt="Cover image" />
<figcaption aria-hidden="true">Cover image</figcaption>
</figure>
<h1 id="awesome-git">Awesome Git</h1>
<p>A curated list of amazingly awesome Git tools, resources and shiny
things.</p>
<h2 id="contributing">Contributing</h2>
<p>Pull requests on interesting tools/projects/resources are
welcome.</p>
<h2 id="table-of-contents">Table of Contents</h2>
<ul>
<li><a href="#awesome-git">Awesome Git</a>
<ul>
<li><a href="#tutorial">Tutorial</a></li>
<li><a href="#style-guide">Style Guide</a></li>
<li><a href="#client">Client</a></li>
<li><a href="#repository-hosting">Repository Hosting</a></li>
<li><a href="#self-hosted-repository">Self-Hosted Repository</a></li>
<li><a href="#workflow">Workflow</a></li>
<li><a href="#hook-management">Hook management</a></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#extensions">Extensions</a></li>
</ul></li>
</ul>
<h2 id="tutorial">Tutorial</h2>
<p><em>There are tons of learning material on the Web</em></p>
<ul>
<li><a href="https://try.github.io/">Try Git</a> - learn Git in 15
minutes with pseudo-terminal interface</li>
<li><a href="https://www.atlassian.com/git/tutorials/">Atlassian Git
Tutorial</a> - comprehensive tutorial on Git</li>
<li><a href="https://www.git-tower.com/learn/">Learn Version Control
with Git</a> - freemium ebook from fournova Software (makers for Tower),
associated with paid video course</li>
<li><a href="https://git-scm.com/book/">Pro Git</a> - free Git book,
also available on paper (CC BY-NC-SA 3.0)</li>
<li><a href="https://www.deployhq.com/git">Learn how to use Git</a> -
free tutorials and resources to help you learn the basics of Git</li>
<li><a href="https://schacon.github.io/gitbook/">The Git Community
Book</a> - book built by dozens of people in the Git community</li>
<li><a href="https://shop.oreilly.com/product/0636920024972">Git Pocket
Guide</a> - a short OReilly book on Git</li>
<li><a href="https://www.codeschool.com/courses/git-real/">Git Real:
Code School</a> - paid training course from Code School</li>
<li><a href="https://pcottle.github.io/learnGitBranching/">Git
Branching</a> - visual way to learn git branching</li>
<li><a
href="https://www.manning.com/books/learn-git-in-a-month-of-lunches">Learn
Git in a Month of Lunches</a> - tutorial-based book by Manning
Publications</li>
<li><a
href="http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html">Git
Magic</a> - short book about Git</li>
<li><a href="https://jwiegley.github.io/git-from-the-bottom-up/">Git
from the bottom up</a> - great series of articles about Git</li>
<li><a href="https://github.com/jlord/git-it-electron">Git-It</a> -
Interactive Tutorial App that runs on your Desktop!</li>
<li><a href="https://githowto.com">Git How To</a> - step by step
intro</li>
<li><a
href="https://vooban.com/en/tips-articles-geek-stuff/migrating-to-git-lfs-for-developing-deep-learning-applications-with-large-files/">Migrating
to Git LFS</a> - Use Git LFS on an existing repository to manage large
files in a better way</li>
<li><a href="https://onlywei.github.io/explain-git-with-d3/">Explain Git
with D3</a> - Visualized few basic Git concepts using D3.js: commit,
branch, checkout, reset, revert, merge, rebase, fetch, pull, push,
tag</li>
<li><a
href="https://appendto.com/2015/06/making-sense-of-git-a-visual-perspective/">Making
Sense of Git A Visual Perspective</a> - Git from a timeline and level
perspective and git commands cheatsheet grouped by functionality</li>
<li><a href="https://github.com/arslanbilal/git-cheat-sheet">Git &amp;
Git-Flow Cheat Sheet</a></li>
<li><a href="https://github.com/git-tips/tips">Git Tips</a></li>
<li><a
href="https://ndpsoftware.com/git-cheatsheet.html">Interactive/Contextual/Visual
Cheat Sheet</a></li>
<li><a
href="http://justinhileman.info/article/git-pretty/git-pretty.png">The
Git Pretty Flow-Chart</a> - How to Recover from a Mess</li>
<li><a href="https://software-carpentry.org/lessons/">Software
Carpentry: Git Lessons</a></li>
<li><a
href="http://tom.preston-werner.com/2009/05/19/the-git-parable.html">The
Git Parable</a> - GitHub Cofounders Narrative-style Intro to Git
Concepts</li>
<li><a
href="https://codebasicshub.com/tutorial/git-github/what-is-git">CodeBasicsHub:
Git Video Tutorials</a></li>
<li><a
href="http://www.columbia.edu/~zjn2101/intermediate-git/#1">Intermediate
Git</a> - lower-level, more structural explanation of git concepts</li>
<li><a href="https://github.com/susam/gitpr">Fork and Pull Request
Workflow</a> - Very nicely explained, simple and crisp way of
understanding git fork and pull request workflow.</li>
<li><a href="https://www.youtube.com/c/DanGitschoolDude">Git School
Dude</a> - Its a YouTube channel with a lot of great git videos. It
covers everything from the basics to advanced Git topics.</li>
<li><a href="https://sethrobertson.github.io/GitFixUm/fixup.html">A Git
Choose Your Own Adventure</a> - I never found a git tutorial I didnt
understand while doing it. Just sometimes those tutorials didnt line up
very well with my actual work. This git help in the form of a choose
your own adventure was a life saver when I was first starting out.</li>
<li><a href="https://sethrobertson.github.io/GitFixUm/fixup.html">On
undoing, fixing, or removing commits in git</a> - fairly comprehensive
guide to recovering from what you did not mean to do when using git</li>
<li><a
href="https://krishnabiradar.com/blogs/deconstructing-a-git-commit/">Deconstructing
a git commit</a> - A blog explaining how git creates and stores commit
histories.</li>
<li><a href="https://github.com/k88hudson/git-flight-rules">Flight rules
for Git</a> - guide about what to do when things go wrong</li>
<li><a
href="https://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/">Use
gitk to understand git</a> - all important Git terms (commit, commit
SHA, branch, merge, rebase) explained using gitk</li>
<li><a
href="https://www.loginradius.com/blog/async/git-cherry-pick/">Git
Cherry-pick and its usages</a> - A blog explaining how command git
cherry-pick works.</li>
<li><a href="https://github.com/groda/the_ultimate_gitignore_guide">The
ultimate guide to <code>.gitignore</code></a> All about
<code>.gitignore</code>.</li>
<li><a href="https://maciejb2k.github.io/no-bs-git/">No Bullsh*t Git</a>
- free and complete explanation of git internals and the
<code>.git/</code> directory.</li>
</ul>
<h2 id="style-guide">Style Guide</h2>
<p><em>Style guide when you work with git</em></p>
<ul>
<li><a
href="https://udacity.github.io/git-styleguide/index.html">Udacity
Nanodegree Style Guide</a></li>
</ul>
<h2 id="client">Client</h2>
<p><em>Git clients are available on every platform, from mainframe to
your mobile device</em></p>
<ul>
<li><a href="https://desktop.github.com/">GitHub Desktop</a> - Git
Client by GitHub. works with GitHub and GitHub Enterprise
seamlessly</li>
<li><a href="https://www.sourcetreeapp.com/">SourceTree</a> - free
(in-beer) GUI client. Windows and Mac only</li>
<li><a href="https://www.git-tower.com/">Tower</a> - a popular non-free
Git GUI client. Mac and Windows</li>
<li><a href="https://www.gitkraken.com/">GitKraken</a> - a cross Git
client for Windows, Mac &amp; Linux. Electron based. Free for
non-commercial use and paid Pro version is available.</li>
<li><a href="https://git-fork.com">Fork</a> - An awesome and free git
client for macOS and Windows</li>
<li><a href="https://tortoisegit.org/">TortoiseGit</a> - an easy-to-use
Git client on Windows. well-integrated with Windows Explorer.</li>
<li><a href="https://www.syntevo.com/smartgit/">SmartGit</a> - a
commercial comprehensive SCM client with Git, SVN, Mercurial.
cross-platform (works on Windows, Mac and Linux)</li>
<li><a href="http://rabbitvcs.org/">RabbitVCS</a> - TortoiseSVN inspired
graphic tool for version control systems, with Nautilus and Thunar
integration</li>
<li><a href="https://wiki.gnome.org/Apps/Gitg/">gitg</a> - a open-source
GTK+ GUI client</li>
<li><a href="https://git-cola.github.io/">git-cola</a> - a
cross-platform Git GUI client</li>
<li><a href="https://github.com/sheimi/SGit">SGit</a> - Git client for
Android 4.x</li>
<li><a href="https://github.com/FredrikNoren/ungit">Ungit</a> - The
easiest way to use git. On any platform. Anywhere.</li>
<li><a href="http://gitup.co">GitUp</a> - a clean, minimal Git client.
Mac only.</li>
<li><a href="https://gitextensions.github.io/">GitExtensions</a> - a
shell extension, a Visual Studio 2010-2015 plugin and a standalone Git
repository tool.</li>
<li><a href="https://workingcopyapp.com">WorkingCopy</a> - a powerful
Git client for iOS. Free with in-app purchase to unlock the ability to
push commits.</li>
<li><a href="https://github.com/stevemao/awesome-git-addons">Git
Add-ons</a> - Enhance the basic <code>git</code> CLI</li>
<li><a href="https://magit.vc">Magit</a> - A Git porcelain inside
Emacs</li>
<li><a href="https://vershd.io/">Vershd</a> - a free for personal use
effortless Git GUI for Windows, Mac, &amp; Linux.</li>
<li><a href="https://github.com/jesseduffield/lazygit">lazygit</a> - A
simple terminal UI for git commands, written in Go</li>
<li><a href="https://github.com/Murmele/Gittyup">Gittyup</a> - a
graphical Git client designed to help you understand and manage your
source code history.</li>
</ul>
<h2 id="repository-hosting">Repository Hosting</h2>
<p><em>People have plenty of options to host their source code</em></p>
<ul>
<li><a href="https://github.com/">GitHub</a> - the de-facto git hosting
service. Perfect integration with most external services.
<ul>
<li><a href="https://github.com/phillipadsmith/awesome-github">Awesome
GitHub</a> - Resources &amp; Learning for GitHub
<ul>
<li><a href="https://github.com/tiimgreen/github-cheat-sheet">GitHub
Cheat Sheet</a></li>
<li><a
href="https://github.com/stefanbuck/awesome-browser-extensions-for-github">GitHub
Browser Extensions</a></li>
</ul></li>
</ul></li>
<li><a href="https://bitbucket.org/">BitBucket</a> - well-known for its
free private repository (5 user max).</li>
<li><a href="https://www.jetbrains.com/space/">Jetbrains Space</a> -
Jetbrains all-in-one solution for software teams, with IM, ticket
tracking, source control.</li>
<li><a href="https://about.gitlab.com/gitlab-com/">GitLab.com</a> - a
free Git repository hosting service served by GitLab EE. Unlimited
repositories and private collaborators</li>
<li><a href="https://azure.microsoft.com/en-us/services/devops/">Azure
DevOps</a> - cloud service for software development formerly known as
Visual Studio Team Services, Visual Studio Online and Team Foundation
Service Preview</li>
<li><a href="https://aws.amazon.com/codecommit/">AWS CodeCommit</a> - a
SaaS service provided by Amazon Web Service on high availability
infrastructure</li>
<li><a href="https://www.fogcreek.com/kiln/">Kiln</a> - paid Git
repository hosting service</li>
<li><a href="https://deveo.com/">Deveo</a> - a paid repository hosting
service with support for Git, Subversion, Mercurial, WebDAV</li>
</ul>
<h2 id="self-hosted-repository">Self-Hosted Repository</h2>
<p><em>Or you can host the code yourselves</em></p>
<ul>
<li><a href="https://gitolite.com/gitolite/">Gitolite</a> - a simple
with fine-grained access control</li>
<li><a href="https://enterprise.github.com/">GitHub Enterprise</a> -
self-hosted solution provided from GitHub</li>
<li><a
href="https://www.atlassian.com/software/bitbucket/server">Bitbucket
Server</a> - self-hosted refrom Atlassian. Good integration with JIRA
and other Atlassian products</li>
<li><a href="https://gitlab.com/">GitLab CE/EE</a> - a popular
open-source Git (CE) with paid support option (EE).</li>
<li><del><a href="https://www.jetbrains.com/upsource">Upsource</a> -
recent offer from Jetbrains, a famous developer-oriented software
company. Code repository hosting feature pending. Free for 10 users.
Good integration with YouTrack and TeamCity</del>
<ul>
<li>Upsource is no longer available as a commercial product as of
February 1, 2022.<a
href="https://www.jetbrains.com/upsource/">*</a></li>
</ul></li>
<li><a href="https://gogs.io/">Gogs</a> - a self-hosted Git Service
written in Go.</li>
<li><a href="https://gitea.io/">Gitea</a> - a community managed fork of
Gogs, lightweight code hosting solution written in Go.</li>
<li><a href="https://forgejo.org/">Forgejo</a> - a community managed
fork of Gitea, started after Gitea changed ownership.<a
href="https://gitea-open-letter.coding.social/">*</a></li>
<li><a href="https://github.com/theonedev/onedev">onedev</a> -
Self-hosted Git Server with Kanban and CI/CD</li>
<li><a href="https://github.com/takezoe/gitbucket/">GitBucket</a> - a
GitHub clone powered by Scala.</li>
<li><a href="http://gitblit.com/">GitBlit</a> - Pure Java Stack for
managing, view, and serving Git repositories.</li>
<li><a href="https://allura.apache.org/">Apache Allura</a> - an open
source implementation of project hosting platform</li>
<li><a href="https://www.phacility.com/">Phabricator</a> - an integrated
set of powerful tools to help companies build higher quality software
<ul>
<li>Effective June 1, 2021: Phabricator is no longer actively
maintained.<a
href="https://admin.phacility.com/phame/post/view/11/phacility_is_winding_down_operations/">*</a></li>
</ul></li>
<li><a href="https://rhodecode.com/">RhodeCode CE/EE</a> - a platform
delivering enterprise source code management</li>
<li><a href="https://github.com/charmbracelet/soft-serve">Soft Serve</a>
- a tasty, self-hostable Git server for the command line</li>
<li><a href="https://developer.harness.io/docs/open-source">Harness Open
Source</a> - Open Source code hosting with secret scanning based on
Gitleaks. Self-hosted and Apache-2.0 license.</li>
</ul>
<h2 id="workflow">Workflow</h2>
<p><em>Inexpensive branching allows people adopt workflows other than
the classic centralized workflow</em></p>
<ul>
<li><a
href="https://git-scm.com/book/it/v2/Distributed-Git-Distributed-Workflows">Pro
Git - Distributed Workflows</a></li>
<li><a
href="https://www.atlassian.com/git/tutorials/comparing-workflows">Atlassian
Git Tutorial - Comparing Workflows</a></li>
<li><a
href="https://martinfowler.com/articles/branching-patterns.html">Patterns
for Managing Source Code Branches</a></li>
<li><a
href="https://mooltiverse.github.io/nyx/guide/user/best-practice/branching-models/">Branching
Models article from Nyx</a></li>
</ul>
<h3 id="comparing-workflows">Comparing workflows</h3>
<p><em>No single workflow fits everyones need</em></p>
<ul>
<li><a
href="https://nvie.com/posts/a-successful-git-branching-model/">Gitflow</a>
- the most well-known Git workflow model</li>
<li><a href="http://scottchacon.com/2011/08/31/github-flow.html">GitHub
flow</a> - a simple branching model with a single master</li>
<li><a href="https://about.gitlab.com/2014/09/29/gitlab-flow/">GitLab
flow</a></li>
<li><a href="https://gist.github.com/djspiewak/9f2f91085607a4859a66">Git
DMZ Flow</a></li>
<li><a
href="https://www.alibabacloud.com/blog/how-do-we-manage-code-branches-at-alibaba_593834">Aoneflow</a>
- an interesting branch model which delays the final merge to production
branch, adopted by Alibaba. more article (in Chinese text) at <a
href="https://segmentfault.com/a/1190000016373314">1</a>, <a
href="https://yq.aliyun.com/articles/573549">2</a></li>
<li><a
href="https://git-repo.info/en/2020/03/agit-flow-and-git-repo/">Agit-flow</a>
- Inspired by Gerrit workflow, Agit-flow is a centralized git workflow
and used in Alibabas internal source code platform</li>
</ul>
<h2 id="hook-management">Hook management</h2>
<p><em>Git provide hooks at commit/push phrase, allowing integration
with and code quality checking tool and Continuous Integration
(CI)</em></p>
<ul>
<li><a href="https://pre-commit.com">pre-commit</a> - a framework for
managing and maintaining multi-language pre-commit hooks.</li>
<li><a href="https://github.com/typicode/husky">husky</a> - modern
native Git hooks made easy.</li>
<li><a href="https://github.com/brigade/overcommit">Overcommit</a> - a
extendable Git hook manager written with Ruby.</li>
<li><a href="https://github.com/evilmartians/lefthook">lefthook</a> -
fast and powerful Git hooks manager for any type of project.</li>
<li><a href="https://github.com/Escape-Technologies/mookme">Mookme</a> -
A simple and easy-to-use, yet powerful and language agnostic git hook
for monorepos.</li>
<li><a href="https://github.com/dirk/quickhook">quickhook</a> - a fast,
Unixy, opinionated Git hook runner.</li>
<li>more on https://githooks.com/</li>
</ul>
<h2 id="tools">Tools</h2>
<p><em>Various tools for daily operations</em></p>
<ul>
<li><a
href="https://github.com/stevemao/awesome-git-addons">awesome-git-addons</a>
- lists more than 20 git addons including all available commands</li>
<li><a href="https://myrepos.branchable.com/">myrepos</a> - a tool to
manage multiple version control repositories</li>
<li><a href="https://fabioz.github.io/mu-repo/">mu-repo</a> - a tool to
help in dealing with multiple git repositories</li>
<li><a href="https://github.com/lindell/multi-gitter">multi-gitter</a> -
a tool to make changes in multiple repositories simultaneously</li>
<li><a href="https://github.com/pazdera/gitwalk">gitwalk</a> - Bulk
processing of git repos</li>
<li><a href="http://mixu.net/gr/">gr</a> - a tool for managing multiple
git repositories</li>
<li><a href="https://rtyley.github.io/bfg-repo-cleaner/">BFG
Repo-Cleaner</a> - a simpler, faster alternative to git-filter-branch
for cleansing bad data out of your Git repository history</li>
<li><a href="https://github.com/github/gitignore">GitIgnore
Collection</a> - collection of gitignore files for various programming
language</li>
<li><a href="https://etckeeper.branchable.com/">etckeeper</a> - a
collection of tools to let /etc be stored in a git repository</li>
<li><a href="https://github.com/tj/git-extras">git-extras</a> git
utilities adding useful git commands.</li>
<li><a
href="https://github.com/unixorn/git-extra-commands">git-extra-commands</a>
- Another collection of useful git commands.</li>
<li><a href="https://github.com/nickolasburr/git-follow">git-follow</a>
- a tool for following lifetime changes of a file throughout the history
of a Git repository.</li>
<li><a href="https://github.com/michenriksen/gitrob">Gitrob</a> - a
command line tool to find sensitive information lingering in publicly
available files on GitHub</li>
<li><a href="https://www.presslabs.com/gitfs/">gitFS</a> - a FUSE file
system that fully integrates with git</li>
<li><a href="https://gitless.com/">Gitless</a> - an experimental version
of Git that changes some of Gits underlying concepts</li>
<li><a href="https://github.com/motemen/ghq">ghq</a> — Organization for
remote repositories</li>
<li><a
href="https://github.com/magicmonty/bash-git-prompt">bash-git-prompt</a>
- An informative and fancy bash prompt for Git users</li>
<li><a
href="https://github.com/conventional-changelog/conventional-changelog">conventional-changelog</a>
- a set of tools for parsing <a
href="https://conventionalcommits.org/">conventional commit</a> messages
from git histories</li>
<li><a href="https://github.com/webpro/release-it">release-it</a> -
Automate releases for Git repositories and/or npm packages. Changelog
generation, GitHub/GitLab releases, etc.</li>
<li><a href="https://github.com/cooperspencer/gickup">gickup</a> -
Backup repos from various hosters to local or other hosters.</li>
<li><a href="https://github.com/tummychow/git-absorb">git-absorb</a> -
<code>git commit --fixup</code>, but automatic</li>
<li><a
href="https://kellyjonbrazil.github.io/jc/docs/parsers/git_log">jc
git-log</a> - Convert your git log to JSON.</li>
<li><a href="https://github.com/amitsaha/gitbackup">gitbackup</a> - a
tool to backup your Bitbucket, GitHub and GitLab repositories.</li>
<li><a href="https://github.com/jonhadfield/soba">soba</a> - scheduled
backups of repositories from popular providers with change
detection.</li>
<li><a href="https://github.com/jonas/tig">tig</a> - text-mode interface
for git.</li>
</ul>
<h2 id="extensions">Extensions</h2>
<p><em>Git is designed for source control management. but people extend
the idea and push version control to everywhere</em></p>
<ul>
<li><a href="https://git-lfs.github.com/">Git Large File Storage</a> -
practical solution for versioning large files. supported by GitHub</li>
<li><a href="https://github.com/Microsoft/GVFS">Git Virtual File System
or GVFS</a> - solution for managing very large Git repository while
maintaining speed and efficiency of most operations. in developement by
Microsoft.</li>
<li><a href="https://git-annex.branchable.com/">git-annex</a> - allow
managing large binaries among machines, as if operation a normal git
repository. possible to creates a synchronised folder with <a
href="https://git-annex.branchable.com/assistant/">git-annex
assistant</a>.</li>
</ul>
<p><a href="https://github.com/dictcp/awesome-git">git.md Github</a></p>