Awesome Git
A curated list of amazingly awesome Git tools, resources and shiny things. 一份Git工具/資源/耀眼的東西的導覽清單
Contributing
Pull requests on interesting tools/projects/resources are welcome. 歡迎對有趣的工具/專案/資源作pull request
Table of Contents
Tutorial
There are tons of learning material on the Web
- [中文Git教學] (https://kingofamani.gitbooks.io/git-teach/content/chapter_2/git.html)
- [連猴子都能懂的Git入門指南] (https://backlogtool.com/git-guide/tw/intro/intro1_1.html)
- Try Git - learn Git in 15 minutes with pseudo-terminal interface
- Atlassian Git Tutorial - comprehensive tutorial on Git
- [版本管理] (https://zh.wikipedia.org/wiki/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6)
- Learn Version Control with Git - freemium ebook from fournova Software (makers for Tower), associated with paid video course
- Pro Git - free Git book (CC BY-NC-SA 3.0)
- [Git 安裝教學] (https://git-scm.com/book/zh-tw/v2/%E9%96%8B%E5%A7%8B-Git-%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8)
- The Git Community Book - book built by dozens of people in the Git community
- Git Pocket Guide - a short O'Reilly book on Git
- Git Real: Code School - paid training course from Code School
- Git Branching - visual way to learn git branching
Client
Git clients are available on every platform, from mainframe to your mobile device 從主流平台到行動裝置皆有Git客戶端可供使用
- TortoiseGit - an easy-to-use Git client on Windows. well-intrgrated with Windows Explorer.
- GitHub Desktop - Git Client by GitHub. works with GitHub and GitHub Enterprise seamlessly
- SourceTree - free (in-beer) GUI client. Windows and Mac only
- Tower - a popular non-free Git GUI client. Mac only
- SmartGit - a commercial comprehensive SCM client with Git, SVN, Mercurial. cross-platform (works on Windows, Mac and Linux)
- 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
- SGit - Git client for Android 4.x
- Ungit - The easiest way to use git. On any platform. Anywhere.
- GitKraken - a cross Git client for Windows, Mac & Linux. Electron based. Free for non-commercial use and paid Pro version is available.
Repository Hosting
People have plenty of options to host their source code 人們有非常多的選擇來host自己的程式碼
- GitHub - the de-facto git hosting service. Perfect integration with most external services.
- BitBucket - well-known for its free private repository (5 user max).
- CodePlex - Microsoft’s free open source code hosting service with many ASP/C# OSS projects
- Kiln - paid Git repository hosting service
- GitLab.com - a free Git repository hosting service served by GitLab EE. Unlimited repositories and private collaborators
- AWS CodeCommit - a SaaS service provided by Amazon Web Service on high availability infrastructure
- Codeplane - a paid Git repository hosting service with no contributor limit
- Deveo - a paid repository hosting service with support for Git, Subversion, Mercurial, WebDAV
Self-Hosted Repository
Or you can host the code yourselves 或者自行hosting
- 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
- GitLab CE/EE - a popular open-source Git (CE) with paid support option (EE).
- Upsource - recent offer from Jetbrains, a famos developer-oriented software company. Code repository hosting feature pending. Free for 10 users. Good integration with YouTrack and TeamCity
- GitBucket - a GitHub clone powered by Scala.
- 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
Workflow
Inexpensive branching allows people adopt workflows other than the classic centralilzed workflow 相較於傳統的集中式工作流程管理方式,低成本的分支方式讓人們可以熟悉並使用工作流程
- Pro Git - Distributed Workflows
- Atlassian Git Tutorial - 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
Hook management
Git provide hooks at commit/push phrase, allowing integration with and code quality checking tool and Continuous Integration (CI)
- pre-commit - a framework for managing and maintaining multi-language pre-commit hooks from Yelp. Extensive support for multiple programming language.
- Overcommit - a extendable Git hook manager written with Ruby.
- git-hooks - tool to manage project, user, and global Git hooks
- quickhook - a fast, Unix'y, opinionated Git hook runner
Tools
Various tools for daily operations
- myrepos - a tool to manage multiple version control repositories
- mu-repo - a tool to help in dealing with multiple git repositories
- gr - a tool for managing multiple git repositories
- 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
- etckeeper - a collection of tools to let /etc be stored in a git repository
- git-extras – git utilities adding useful git commands.
- Gitrob - a command line tool to find sensitive information lingering in publicly available files on GitHub
- gitFS - a FUSE file system that fully integrates with git
- ghq — Organization for remote repositories
Extensions
Git is designed for source control management. but people extend the idea and push version control to everywhere
- Git Large File Storage - practical solution for versioning large files. supported by GitHub
- 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.