awesome-git
A curated list of amazingly awesome Git tools, resources and shiny things
https://github.com/dictcp/awesome-git
Last synced: 1 day ago
JSON representation
-
Tutorial
- Learn Version Control with Git - freemium ebook from fournova Software (makers for Tower), associated with paid video course
- Learn how to use Git - free tutorials and resources to help you learn the basics of Git
- The Git Community Book - book built by dozens of people in the Git community
- Git Pocket Guide - a short O'Reilly book on Git
- Learn Git in a Month of Lunches - tutorial-based book by Manning Publications
- Git Magic - short book about Git
- Git How To - step by step intro
- Migrating to Git LFS - Use Git LFS on an existing repository to manage large files in a better way
- Making Sense of Git – A Visual Perspective - Git from a timeline and level perspective and git commands cheatsheet grouped by functionality
- Git & Git-Flow Cheat Sheet
- Git Tips
- Interactive/Contextual/Visual Cheat Sheet
- The 'Git Pretty' Flow-Chart - How to Recover from a Mess
- Software Carpentry: Git Lessons
- The Git Parable - GitHub Cofounder's Narrative-style Intro to Git Concepts
- CodeBasicsHub: Git Video Tutorials
- Intermediate Git - lower-level, more structural explanation of git concepts
- Git School Dude - It's a YouTube channel with a lot of great git videos. It covers everything from the basics to advanced Git topics.
- Deconstructing a git commit - A blog explaining how git creates and stores commit histories.
- Use gitk to understand git - all important Git terms (commit, commit SHA, branch, merge, rebase) explained using gitk
- Git Cherry-pick and its usages - A blog explaining how command git cherry-pick works.
- Git from the bottom up - great series of articles about Git
- Git-It - Interactive Tutorial App that runs on your Desktop!
- Explain Git with D3 - Visualized few basic Git concepts using D3.js: commit, branch, checkout, reset, revert, merge, rebase, fetch, pull, push, tag
- Fork and Pull Request Workflow - Very nicely explained, simple and crisp way of understanding git fork and pull request workflow.
- Flight rules for Git - guide about what to do when things go wrong
- The ultimate guide to <code>.gitignore</code>
- No Bullsh\*t Git - free and complete explanation of git internals and the `.git/` directory.
- On undoing, fixing, or removing commits in git - fairly comprehensive guide to recovering from what you did not mean to do when using git
- The Git Community Book - book built by dozens of people in the Git community
- Git Magic - short book about Git
- Migrating to Git LFS - Use Git LFS on an existing repository to manage large files in a better way
- Git Pocket Guide - a short O'Reilly book on Git
- Git How To - step by step intro
- The Git Parable - GitHub Cofounder's Narrative-style Intro to Git Concepts
- CodeBasicsHub: Git Video Tutorials
- Git School Dude - It's a YouTube channel with a lot of great git videos. It covers everything from the basics to advanced Git topics.
- Deconstructing a git commit - A blog explaining how git creates and stores commit histories.
-
Style Guide
-
Client
- SourceTree - free (in-beer) GUI client. Windows and Mac only
- Tower - a popular non-free Git GUI client. Mac and Windows
- GitKraken - a cross Git client for Windows, Mac & Linux. Electron based. Free for non-commercial use and paid Pro version is available.
- TortoiseGit - an easy-to-use Git client on Windows. well-integrated with Windows Explorer.
- RabbitVCS - TortoiseSVN inspired graphic tool for version control systems, with Nautilus and Thunar integration
- gitg - a open-source GTK+ GUI client
- git-cola - a cross-platform Git GUI client
- GitExtensions - a shell extension, a Visual Studio 2010-2015 plugin and a standalone Git repository tool.
- WorkingCopy - a powerful Git client for iOS. Free with in-app purchase to unlock the ability to push commits.
- Vershd - a free for personal use effortless Git GUI for Windows, Mac, & Linux.
- SGit - Git client for Android 4.x
- Ungit - The easiest way to use git. On any platform. Anywhere.
- lazygit - A simple terminal UI for git commands, written in Go
- Gittyup - a graphical Git client designed to help you understand and manage your source code history.
- GitHub Desktop - Git Client by GitHub. works with GitHub and GitHub Enterprise seamlessly
- RabbitVCS - TortoiseSVN inspired graphic tool for version control systems, with Nautilus and Thunar integration
- gitg - a open-source GTK+ GUI client
- Magit - A Git porcelain inside Emacs
-
Repository Hosting
- GitHub - the de-facto git hosting service. Perfect integration with most external services.
- Awesome GitHub - Resources & Learning for GitHub
- GitHub Cheat Sheet
- GitHub Browser Extensions
- BitBucket - well-known for its free private repository (5 user max).
- GitLab.com - a free Git repository hosting service served by GitLab EE. Unlimited repositories and private collaborators
- Azure DevOps - cloud service for software development formerly known as Visual Studio Team Services, Visual Studio Online and Team Foundation Service Preview
- AWS CodeCommit - a SaaS service provided by Amazon Web Service on high availability infrastructure
- Kiln - paid Git repository hosting service
-
Self-Hosted Repository
- Gitolite - a simple with fine-grained access control
- GitHub Enterprise - self-hosted solution provided from GitHub
- Bitbucket Server - self-hosted refrom Atlassian. Good integration with JIRA and other Atlassian products
- Gogs - a self-hosted Git Service written in Go.
- GitBlit - Pure Java Stack for managing, view, and serving Git repositories.
- Apache Allura - an open source implementation of project hosting platform
- Phabricator - an integrated set of powerful tools to help companies build higher quality software
- *
- RhodeCode CE/EE - a platform delivering enterprise source code management
- onedev - Self-hosted Git Server with Kanban and CI/CD
- Soft Serve - a tasty, self-hostable Git server for the command line
- Forgejo - a community managed fork of Gitea, started after Gitea changed ownership.[*](https://gitea-open-letter.coding.social/)
- GitBlit - Pure Java Stack for managing, view, and serving Git repositories.
- Harness Open Source - Open Source code hosting with secret scanning based on Gitleaks. Self-hosted and Apache-2.0 license.
- Upsource - 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~~
- *
- Harness Open Source - Open Source code hosting with secret scanning based on Gitleaks. Self-hosted and Apache-2.0 license.
-
Workflow
-
Comparing workflows
- Gitflow - the most well-known Git workflow model
- GitHub flow - a simple branching model with a single master
- GitLab flow
- Git DMZ Flow
- Aoneflow - an interesting branch model which delays the final merge to production branch, adopted by Alibaba. more article (in Chinese text) at [1](https://segmentfault.com/a/1190000016373314), [2](https://yq.aliyun.com/articles/573549)
- Agit-flow - Inspired by Gerrit workflow, Agit-flow is a centralized git workflow and used in Alibaba’s internal source code platform
-
Hook management
-
Comparing workflows
- pre-commit - a framework for managing and maintaining multi-language pre-commit hooks from Yelp. Extensive support for multiple programming language.
- husky - modern native Git hooks made easy.
- lefthook - fast and powerful Git hooks manager for any type of project.
- Mookme - A simple and easy-to-use, yet powerful and language agnostic git hook for monorepos.
- quickhook - a fast, Unix'y, opinionated Git hook runner.
- pre-commit - a framework for managing and maintaining multi-language pre-commit hooks.
- Overcommit - a extendable Git hook manager written with Ruby.
-
-
Tools
-
Comparing workflows
- myrepos - a tool to manage multiple version control repositories
- gr - a tool for managing multiple git repositories
- etckeeper - a collection of tools to let /etc be stored in a git repository
- gitFS - a FUSE file system that fully integrates with git
- Gitless - an experimental version of Git that changes some of Git's underlying concepts
- jc --git-log - Convert your git log to JSON.
- mu-repo - a tool to help in dealing with multiple git repositories
- multi-gitter - a tool to make changes in multiple repositories simultaneously
- gitwalk - Bulk processing of git repos
- BFG Repo-Cleaner - a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history
- GitIgnore Collection - collection of gitignore files for various programming language
- git-extras
- git-extra-commands - Another collection of useful git commands.
- git-follow - a tool for following lifetime changes of a file throughout the history of a Git repository.
- Gitrob - a command line tool to find sensitive information lingering in publicly available files on GitHub
- bash-git-prompt - An informative and fancy bash prompt for Git users
- conventional-changelog - a set of tools for parsing [conventional commit](https://conventionalcommits.org/) messages from git histories
- gickup - Backup repos from various hosters to local or other hosters.
- git-absorb - `git commit --fixup`, but automatic
- gitbackup - a tool to backup your Bitbucket, GitHub and GitLab repositories.
- soba - scheduled backups of repositories from popular providers with change detection.
- tig - text-mode interface for git.
- awesome-git-addons - lists more than 20 git addons including all available commands
- gr - a tool for managing multiple git repositories
- release-it - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.
- gitFS - a FUSE file system that fully integrates with git
-
-
Extensions
-
Comparing workflows
- git-annex - allow managing large binaries among machines, as if operation a normal git repository. possible to creates a synchronised folder with [git-annex assistant](https://git-annex.branchable.com/assistant/).
- Git Large File Storage - practical solution for versioning large files. supported by GitHub
- Git Virtual File System or GVFS - solution for managing very large Git repository while maintaining speed and efficiency of most operations. in developement by Microsoft.
-
Programming Languages
Categories
Sub Categories
Keywords
git
28
github
7
golang
6
hooks
4
gitlab
4
cli
4
devops
4
pre-commit
3
backup
3
awesome
3
list
3
awesome-list
3
changelog
2
gitignore
2
automation
2
bitbucket
2
go
2
commit
1
github-api
1
osint
1
security
1
qt
1
gui-application
1
cpp
1
golang-application
1
ci-cd
1
tag
1
metadata
1
kanban
1
packages
1
self-hosted
1
history
1
browser-extension
1
chrome-extension
1
github-extension
1
cheatsheet
1
git-flow
1
tips
1
tips-and-tricks
1
add-on
1
add-ons
1
addon
1
addons
1
lists
1
resources
1
c
1
ncurses
1
tui
1
lefthook
1
manager
1