diff --git a/README.md b/README.md index 6f478ce..3204f83 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![Cover image](cover.png) + # Awesome Git A curated list of amazingly awesome Git tools, resources and shiny things. @@ -19,10 +21,8 @@ Pull requests on interesting tools/projects/resources are welcome. ## Tutorial *There are tons of learning material on the Web* -* [Flight rules for Git](https://github.com/k88hudson/git-flight-rules) - guide about what to do when things go wrong * [Try Git](https://try.github.io/) - learn Git in 15 minutes with pseudo-terminal interface * [Atlassian Git Tutorial](https://www.atlassian.com/git/tutorials/) - comprehensive tutorial on Git -* [Use gitk to understand git](https://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/) - all important Git terms (commit, commit SHA, branch, merge, rebase) explained using gitk * [Learn Version Control with Git](https://www.git-tower.com/learn/) - freemium ebook from fournova Software (makers for Tower), associated with paid video course * [Pro Git](https://git-scm.com/book/) - free Git book, also available on paper (CC BY-NC-SA 3.0) * [Learn how to use Git](https://www.deployhq.com/git) - free tutorials and resources to help you learn the basics of Git @@ -51,6 +51,8 @@ Pull requests on interesting tools/projects/resources are welcome. * [A Git Choose Your Own Adventure](http://sethrobertson.github.io/GitFixUm/fixup.html) - I never found a git tutorial I didn't understand while doing it. Just sometimes those tutoars didn't 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 fisrt starting out. * [On undoing, fixing, or removing commits in git](https://sethrobertson.github.io/GitFixUm/fixup.html) - fairly comprehensive guide to recovering from what you did not mean to do when using git * [Deconstructing a git commit](https://krishnabiradar.com/blogs/deconstructing-a-git-commit/) - A blog explaining how git creates and stores commit histories. +* [Flight rules for Git](https://github.com/k88hudson/git-flight-rules) - guide about what to do when things go wrong +* [Use gitk to understand git](https://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/) - all important Git terms (commit, commit SHA, branch, merge, rebase) explained using gitk ## Style Guide *Style guide when you work with git* @@ -60,22 +62,22 @@ Pull requests on interesting tools/projects/resources are welcome. ## Client *Git clients are available on every platform, from mainframe to your mobile device* -* [TortoiseGit](https://tortoisegit.org/) - an easy-to-use Git client on Windows. well-integrated with Windows Explorer. * [GitHub Desktop](https://desktop.github.com/) - Git Client by GitHub. works with GitHub and GitHub Enterprise seamlessly * [SourceTree](https://www.sourcetreeapp.com/) - free (in-beer) GUI client. Windows and Mac only * [Tower](http://www.git-tower.com/) - a popular non-free Git GUI client. Mac and Windows +* [GitKraken](https://www.gitkraken.com/) - a cross Git client for Windows, Mac & Linux. Electron based. Free for non-commercial use and paid Pro version is available. +* [Fork](https://git-fork.com) - An awesome and free git client for macOS and Windows +* [TortoiseGit](https://tortoisegit.org/) - an easy-to-use Git client on Windows. well-integrated with Windows Explorer. * [SmartGit](http://www.syntevo.com/smartgit/) - a commercial comprehensive SCM client with Git, SVN, Mercurial. cross-platform (works on Windows, Mac and Linux) * [RabbitVCS](http://rabbitvcs.org/) - TortoiseSVN inspired graphic tool for version control systems, with Nautilus and Thunar integration * [gitg](https://wiki.gnome.org/Apps/Gitg/) - a open-source GTK+ GUI client * [git-cola](http://git-cola.github.io/) - a cross-platform Git GUI client * [SGit](https://github.com/sheimi/SGit) - Git client for Android 4.x * [Ungit](https://github.com/FredrikNoren/ungit) - The easiest way to use git. On any platform. Anywhere. -* [GitKraken](https://www.gitkraken.com/) - a cross Git client for Windows, Mac & Linux. Electron based. Free for non-commercial use and paid Pro version is available. * [GitUp](http://gitup.co) - a clean, minimal Git client. Mac only. * [GitExtensions](https://gitextensions.github.io/) - a shell extension, a Visual Studio 2010-2015 plugin and a standalone Git repository tool. * [WorkingCopy](https://workingcopyapp.com) - a powerful Git client for iOS. Free with in-app purchase to unlock the ability to push commits. * [Git Add-ons](https://github.com/stevemao/awesome-git-addons) - Enhance the basic `git` CLI -* [Fork](https://git-fork.com) - An awesome and free git client for macOS and Windows * [Magit](https://magit.vc) - A Git porcelain inside Emacs * [Vershd](https://vershd.io/) - a free for personal use effortless Git GUI for Windows, Mac, & Linux. @@ -88,9 +90,11 @@ Pull requests on interesting tools/projects/resources are welcome. * [GitHub Cheat Sheet](https://github.com/tiimgreen/github-cheat-sheet) * [GitHub Browser Extensions](https://github.com/stefanbuck/awesome-browser-extensions-for-github) * [BitBucket](http://bitbucket.org/) - well-known for its free private repository (5 user max). -* [Kiln](https://www.fogcreek.com/kiln/) - paid Git repository hosting service +* [Jetbrains Space](https://www.jetbrains.com/space/) - Jetbrains all-in-one solution for software teams, with IM, ticket tracking, source control. * [GitLab.com](https://about.gitlab.com/gitlab-com/) - a free Git repository hosting service served by GitLab EE. Unlimited repositories and private collaborators +* [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/) - cloud service for software development formerly known as Visual Studio Team Services, Visual Studio Online and Team Foundation Service Preview * [AWS CodeCommit](https://aws.amazon.com/codecommit/) - a SaaS service provided by Amazon Web Service on high availability infrastructure +* [Kiln](https://www.fogcreek.com/kiln/) - paid Git repository hosting service * [Deveo](https://deveo.com/) - a paid repository hosting service with support for Git, Subversion, Mercurial, WebDAV ## Self-Hosted Repository @@ -100,13 +104,15 @@ Pull requests on interesting tools/projects/resources are welcome. * [GitHub Enterprise](https://enterprise.github.com/) - self-hosted solution provided from GitHub * [Bitbucket Server](https://www.atlassian.com/software/bitbucket/server) - self-hosted refrom Atlassian. Good integration with JIRA and other Atlassian products * [GitLab CE/EE](https://gitlab.com/) - a popular open-source Git (CE) with paid support option (EE). -* [Upsource](https://www.jetbrains.com/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 -* [GitBucket](https://github.com/takezoe/gitbucket/) - a GitHub clone powered by Scala. +* ~~[Upsource](https://www.jetbrains.com/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~~ + * Upsource is no longer available as a commercial product as of February 1, 2022.[*](https://www.jetbrains.com/upsource/) * [Gogs](http://gogs.io/) - a self-hosted Git Service written in Go. * [Gitea](https://gitea.io/) - a community managed fork of Gogs, lightweight code hosting solution written in Go. +* [GitBucket](https://github.com/takezoe/gitbucket/) - a GitHub clone powered by Scala. * [GitBlit](http://gitblit.com/) - Pure Java Stack for managing, view, and serving Git repositories. * [Apache Allura](https://allura.apache.org/) - an open source implementation of project hosting platform * [Phabricator](https://www.phacility.com/) - an integrated set of powerful tools to help companies build higher quality software + * Effective June 1, 2021: Phabricator is no longer actively maintained.[*](https://admin.phacility.com/phame/post/view/11/phacility_is_winding_down_operations/) * [RhodeCode CE/EE](https://rhodecode.com/) - a platform delivering enterprise source code management ## Workflow @@ -114,6 +120,11 @@ Pull requests on interesting tools/projects/resources are welcome. * [Pro Git - Distributed Workflows](https://git-scm.com/book/it/v2/Distributed-Git-Distributed-Workflows) * [Atlassian Git Tutorial - Comparing Workflows](https://www.atlassian.com/git/tutorials/comparing-workflows) +* [Patterns for Managing Source Code Branches](https://martinfowler.com/articles/branching-patterns.html) + +### Comparing workflows +*No single workflow fits everyone's need* + * [Gitflow](http://nvie.com/posts/a-successful-git-branching-model/) - the most well-known Git workflow model * [GitHub flow](http://scottchacon.com/2011/08/31/github-flow.html) - a simple branching model with a single master * [GitLab flow](https://about.gitlab.com/2014/09/29/gitlab-flow/) @@ -125,7 +136,6 @@ Pull requests on interesting tools/projects/resources are welcome. * [pre-commit](http://pre-commit.com/) - a framework for managing and maintaining multi-language pre-commit hooks from Yelp. Extensive support for multiple programming language. * [Overcommit](https://github.com/brigade/overcommit/) - a extendable Git hook manager written with Ruby. -* [git-hooks](https://github.com/icefox/git-hooks/) - tool to manage project, user, and global Git hooks * [quickhook](https://github.com/dirk/quickhook/) - a fast, Unix'y, opinionated Git hook runner * [husky](https://github.com/typicode/husky) - Git hooks for Node.js, manage your hooks from your package.json * more on https://githooks.com/ @@ -136,6 +146,8 @@ Pull requests on interesting tools/projects/resources are welcome. * [awesome-git-addons](https://github.com/stevemao/awesome-git-addons) - lists more than 20 git addons including all available commands * [myrepos](https://myrepos.branchable.com/) - a tool to manage multiple version control repositories * [mu-repo](http://fabioz.github.io/mu-repo/) - a tool to help in dealing with multiple git repositories +* [multi-gitter](https://github.com/lindell/multi-gitter) - a tool to make changes in multiple repositories simultaneously +* [gitwalk](https://github.com/pazdera/gitwalk) - Bulk processing of git repos * [gr](http://mixu.net/gr/) - a tool for managing multiple git repositories * [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/) - a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history * [GitIgnore Collection](https://github.com/github/gitignore) - collection of gitignore files for various programming language @@ -149,8 +161,9 @@ Pull requests on interesting tools/projects/resources are welcome. * [ghq](https://github.com/motemen/ghq) — Organization for remote repositories * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy bash prompt for Git users * [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog) - a set of tools for parsing [conventional commit](https://conventionalcommits.org/) messages from git histories -- [release-it](https://github.com/webpro/release-it) - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc. -- [gickup](https://github.com/cooperspencer/gickup) - Backup repos from various hosters to local or other hosters. +* [release-it](https://github.com/webpro/release-it) - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc. +* [gickup](https://github.com/cooperspencer/gickup) - Backup repos from various hosters to local or other hosters. + ## Extensions *Git is designed for source control management. but people extend the idea and push version control to everywhere* diff --git a/cover.png b/cover.png new file mode 100644 index 0000000..bca305d Binary files /dev/null and b/cover.png differ