GitHub是个什么网站?

论坛 期权论坛 爱问     
vbyf9   2022-5-24 06:10   2493   0
说到 GitHub 就得从 Git 说起。
程序开发过程中「版本控制」是非常强大的工具。顾名思义,版本控制工具可以用于记录程序开发过程中的每个版本。例如我今天实现一个 feature,提交一个版本;明天修复一个 bug,再提交一个版本。完成不同的任务时,可以分别维护专用的分支并最后合并以避免混乱。从版本库中可以查到修改记录,也可以比较不同版本的文件的差异。如果一不小心写坏了,还可以从以前的版本库中还原回来。为了团队开发,成熟的版本控制工具可以部署在多处(具体的形式可能不同,例如 Git 的分布式和 SVN 的中央式,区别可以见
开始学习Git | Cloud's Blog),为程序开发、多人协作、发布、备份等操作提供了极大便利,也是软件工程中重要的组成部分。当然在软件开发以外,版本控制也是非常好用的工具,其思路适用于诸多行业。
Git 就是众多版本控制程序中相当知名的一个,由 Linux 作者 Linus Torvalds 开发,现在也是 Linux 内核以及其它诸多项目使用的版本控制工具。虽然被评价「操作复杂」(有调侃的段子说,即使 Git 声称可以离线运行也没用,因为你得随时上网查用法和参数),但是因为功能强大还是非常受欢迎。
可以参考
Git - Book 第一章的介绍。也可以参考
Learn X in Y Minutes: Scenic Programming Language Tours。
GitHub 是基于 Git 的一个代码托管网站。开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码,fork 到自己名下做修改,clone 回本地(没有访问权限的 private repo 除外)使用,也可以发起 pull request 向上游提交自己的修改。GitHub 围绕项目(即 Git 中的 Repository)做了许多功能,例如 Wiki,首页(GitHub Pages)等,也可以通过 Graph 来查看其他人 fork 的情况。GitHub 也有 Gists,用于分享代码片段。除此之外也有许多包管理器以 GitHub 作为包仓库(Cargo,AUR 上的部分包,小一些如 oh-my-fish 什么的)。关于 GitHub 的更多功能,可以参考
GitHub - tiimgreen/github-cheat-sheet: A list of cool features of Git and GitHub.。
更重要的是,基于代码本身,可以集成更多后序功能,持续集成持续部署可以省去大量麻烦,可以参考
最近十年,编程领域有什么重要进展? - caoglish 的回答

由于 Git 本身就是相当好用的工具,以及 GitHub 上聚集了许多牛人牛项目,所以除了单纯的代码托管以外,GitHub 也被视作程序员的 SNS。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP