抽时间翻译了下纯英文的 awesome-git 仓库,Github 上也提交了第一个有意义的 PR (pull request),奈何一个月过去,该项目作者有了新的 commit 却也没有回复我的 PR,只好另立新库,以作产出。
P.S: 从作者的 Github 主页看出是香港朋友,突然想起了脸书上看到的“繁简之争”,逃...
项目开源在 https://github.com/hylerrix/awesome-git,以下是原文~
收集一些有关 Git 的工具、资源清单列表。
加入我们
如果你有其他有趣的 Git 工具/项目/资源推荐,欢迎提交 Pull Request 请求到本仓库中。
目录
教程
畅游互联网,我们可以找到很多 Git 学习资料。
- Flight rules for Git - 该教程在你遇到 Git 错误的时候有效地指导你。
- Try Git - 利用 15 分钟时间,在该网站提供的伪终端上实践 Git 操作。
- Atlassian Git Tutorial - 这是一系列关于 Git 的综合教程。
- Use gitk to understand git - 使用可视化工具 gitk 来学习 Git 的重要知识(Commit,SHA,Branch,Merge,Rebase 等)。
- Learn Version Control with Git - 来自 Tower 制造商 fournova Software 的免费电子书,该系列与付费视频课程相关。
- Pro Git - 免费、较为权威的 Git 电子书,采用 CC BY-SA 3.0 协议对外授权使用。
- The Git Community Book - 由 Git 社区数十人维护编写的 Git 教程(译者注:此链接已被上一条所列教程归并)。
- Git Pocket Guide - O'Reilly 出版商出版的一本关于 Git 的简明书籍。
- Git Real: Code School - 来自 Code School 的付费培训课程。
- Git Branching - 以可视化的方式深入理解 Git 分支。
- Learn Git in a Month of Lunches - Manning Publications 出版的 Git 教程。
- Git Magic - 免费在线看的 Git "魔法"指南。
- Git from the bottom up - 有关 Git 的一系列精彩文章。
- Git-it - 在 Mac、Linux 或 Windows 客户端上学习 Git。
- Git How To - 跟着教程一步一步的学习 Git
- Migrating to Git LFS - 在已存仓库上使用 Git LFS 来更好地管理大型文件。
- Explain Git with D3 - 使用 D3.js 可视化库来展现几个基本的 Git 概念:commit,branch,checkout,reset,revert,merge,rebase,fetch,pull,push,tag。
- Making Sense of Git – A Visual Perspective - 从时间轴和层级的角度来看 Git 命令。
客户端
Git 客户端被各大电脑及手机平台广泛支持着。
- TortoiseGit - Windows 平台上的一个易于使用的 Git 客户端,并被完美集成在 Windows 资源管理器上。
- GitHub Desktop - Github 官方出品的 Git 客户端,可与 GitHub 和 GitHub Enterprise 无缝协作。
- SourceTree - 较为知名的免费 Git 客户端,只能运行在 Windows 和 Mac 平台上。
- Tower - 较为知名的收费 Git 客户端,只能运行在 Windows 和 Mac 平台上。
- SmartGit - 一个商业的 SCM 跨平台客户端,完美支持 Git,SVN 和 Mercurial,可运行在 Windows,Mac 和 Linux 上。
- RabbitVCS - TortoiseSVN 版本控制系统的图形工具,集成了 Nautilus 和 Thunar(译者注:这里的翻译意思尚不明确)。
- gitg - 一个开源的 GTK+ Git 客户端。
- git-cola - 一个跨平台的 Git 客户端。
- SGit - 为 Android 4.x 量身定制的 Git 客户端。
- Ungit - 使用最便捷的方式学习 Git,你可以在任何地方任何环境使用它(译者注:该项目包括 npm 安装以及 Atom、VS Code 的插件形式)。
- GitKraken - 一个基于 Electron 的跨平台 Git 客户端,同时支持免费版和高级付费版。
- GitUp - 一个干净、简介的 Git 客户端,只能运行在 MacOS 系统上。
- GitExtensions - 这是一个 Visual Studio 2010-2015 的拓展插件,和一个独立的 Git 存储库工具。
- WorkingCopy - IOS 平台上的一个强大的 Git 客户端,除需内置付费解锁 push 功能外其它功能均免费使用。
第三方代码托管平台
我们拥有很多不同的选择来托管项目的源代码。
- GitHub - 事实上的首选 Git 托管平台,与大多数外部服务完美整合。
- BitBucket - 因在其中可建立免费的私人仓库而闻名(最多支持 5 人协作)。
- CodePlex - 微软的项目托管平台,上面有很多 SP/C# OSS 项目。
- Kiln - 付费的 Git 仓库托管平台。
- GitLab.com - 由 GitLab EE 提供服务的免费 Git 仓库托管服务,每个人都可以建立无限的仓库并和任意数量的合作者协作。
- AWS CodeCommit - Amazon Web Service 在其高可用性基础设施上提供的 SaaS 服务,轻松地托管安全且高度可扩展的私有 Git 仓库。
- Codeplane - 一个没有贡献者数量限制的付费代码托管平台。
- Deveo - 一个同时支持 Git, Subversion, Mercurial 和 WebDAV 的付费代码托管平台。
自建代码托管平台
或许你需要使用自己搭建一套代码托管服务平台。
- Gitolite - 拥有细粒度访问控制机制的简易托管平台。
- GitHub Enterprise - Github 提供的自建代码托管平台解决方案。
- Bitbucket Server - Atlassian 提供的自建代码托管平台,与 JIRA 和其他 Atlassian 产品良好集成。
- GitLab CE/EE - 一个受欢迎的 Git 自建托管平台,提供 CE 免费版和 EE 付费版。
- Upsource - Jetbrains 旗下托管服务平台,10 个协作者以内免费使用,与 YouTrack 和 TeamCity 良好的整合。
- GitBucket - 一个仿照 Github,使用 Scala 编写的自建代码托管平台。
- Gogs - 一个使用 GO 语言编写的自建代码托管平台。
- GitBlit - 用于管理,查看和服务 Git 仓库的纯 Java 堆栈。
- Apache Allura - 一个代码托管服务的开源实现。
- Phabricator - 一整套强大的 Git 工具来帮助公司构建更高质量的软件。
- RhodeCode CE/EE - 一个提供企业级源代码管理的平台。
工作流
使用廉价的分支策略可以让人们采用除经典集中式工作流程以外的工作流程。
- Pro Git - Distributed Workflows
- Atlassian Git Tutorial - Comparing Workflows
- Gitflow - 最知名的 Git 工作流。
- GitHub flow - 一个只需要 master 分支的简易 Git 工作流。
- GitLab flow
- Git DMZ Flow
钩子管理策略
Git 在提交/推送短语中提供挂钩,允许其与代码质量检查工具和持续集成(CI)集成。
- pre-commit - 一个用于管理和维护的多语言预提交钩子的框架,由 Yelp 团队打造,广泛支持多种编程语言。
- Overcommit - 一个用 Ruby 编写的可扩展 Git 钩子管理器。
- git-hooks - 一个管理项目、用户和全局 Git 钩子的工具。
- quickhook - 一个自称比 Git Hooks 更快的钩子库。
- husky - 为 Node.js 打造的 Git 钩子,可在 package.json 中进行配置。
- 更多资源可参考 https://githooks.com/
工具
这里有各种日常 Git 操作工具。
- awesome-git-addons - 这里列出了超过 20 个 Git 插件,包括所有可用命令。
- myrepos - 一个管理多个版本控制库的工具。
- mu-repo - 一个管理多个 Git 仓库的工具。
- gr - 一个管理多个 Git 仓库的工具。
- BFG Repo-Cleaner - 一个更简单、更快捷的替代 git-filter-branch 的方法库,用于清理 Git 存储库历史记录中的错误数据。
- GitIgnore Collection - 该项目为各种编程语言收集其专属的 .gitignore 文件。
- etckeeper - 一个让 /etc 存储在 Git 仓库中的工具集合。
- git-extras – 集成各种常见 Git 命令的命令行工具集。
- git-extra-commands - 另一个有用的 Git 命令工具集。
- git-follow - 一个用于跟踪整个 Git 仓库历史记录中文件生命周期变化的工具。
- Gitrob - 一个用于查找 GitHub 上公开可用文件中存在的敏感信息的命令行工具。
- gitFS - 与 Git 完全集成的 FUSE 文件系统。
- Gitless - Git 的实验版本,其改变了 Git 的一些基本概念。
- ghq — 便捷的管理远程仓库。
- bash-git-prompt - 为 Git 用户提供丰富而又有趣的 bash 提示。
拓展
Git 专为源代码管理而诞生,但是人们扩展了这个想法,并将版本控制推向了更多的领域。
- Git Large File Storage - 由 GitHub 支持的大文件版本化实用解决方案。
- Git Virtual File System or GVFS - 以管理非常大的 Git 存储库,同时保持大多数操作的速度和效率的解决方案,由微软推进。
- git-annex - 可以通过 git-annex assistant 创建一个同步文件夹,来像操作一个正常的 Git 仓库一样来管理机器上的大型二进制文件。
开源协议
- Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有很多感悟,也享受持续分享的过程。如果想了解更多或能及时收到我的最新文章,欢迎订阅我的个人微信号:韩亦乐。我的简书个人主页中,有我的订阅号二维码和 Github 主页地址;我的知乎主页 中也会坚持产出,欢迎关注。
- 本文内部编号经由我的 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。
网友评论