源代码管理工具GitHub介绍

发布时间 2023-05-23 13:37:39作者: 一木子a

GitHub是一个基于Web的Git代码托管平台,该平台提供的服务包括代码托管、代码审查、协作、项目管理等,旨在帮助开发者更加方便地进行软件开发和协作。下面主要从GitHub主要页面功能和如何利用GitHub辅助完成团队项目两个方面进行简单的介绍。

1.Git 和 GitHub

Git 和 GitHub 是两个东西,Git 是一个软件/工具/系统,GitHub 是一个网站/平台,GitHub 这个网站使用了 Git 这个工具。

1.1 Git

Git是一个分布式版本控制系统

版本控制系统(version control system)像个数据库,它会记录所有对项目文件的更改(比如一个文件,前天加了三段文字,昨天删了一句话,今天改了几个词,这三个版本历史都能保存下来)。 版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。

使用版本控制系统可以协同合作(多人编辑文件或代码而不出错),版本存储(你改动的每一版本都保存下来,如果改错可以回到之前的版本,如果想加上删除的内容也可以返回去找,也可以对比现在和之前的版本,看改了什么),文件备份(服务器和本地都有完整的历史版本,如果服务器坏了,本地还有一份完整的历史记录)。

总之, Git 可以避免文件丢失,改错,多人合作不同步导致的后果 。

1.2 GitHub

GitHub 是通过 Git 进行版本控制的软件源代码托管服务平台,可以理解成放代码的地方,但往上放代码时用 Git 进行了版本控制。也就是 GitHub 使用了 Git 完成版本控制,下面来看看 GitHub 有哪些有用的功能!

代码托管:可以单纯地把它当成一个网盘放你的代码,同时使用 Git 功能记录你的代码历史。当然除代码外还能放其他文件。

学习优秀的开源项目:学习别人优秀的源码,写代码之前看别人是怎么写的(比如写作业的时候参考参考),看论文也可以上 GitHub 找源代码,还能找一些开源的软件,插件用。

当资料库:可以查资料,GitHub 上有总结好的面试宝典,入门指南,技术分析,论文合集,课程资料等。这些博客、公众号上有的内容 GitHub 上也有,还可能更全。

多人协作:多个人要一起写个程序,一起写本书,一起翻译一篇文章等,用 GitHub 可以管理项目保证你们的文件同步,写好后提交合并成一个完整的项目。

搭建博客:基于 GitHub Pages 搭建属于你的博客,你可以随心所欲的定制自己的样式,这是一个属于你的空间。

社交:就像微博、知乎一样,在这个网站你可以关注(following)别人,也可以有自己的粉丝(followers),看到好的开源项目可以给他点赞(star),你有啥想法还可以给这个项目改进改进(fork)。

个人简历:如果你的 GitHub 上有不错的项目,或者你改进过别人的项目,这些都能反映到你的账号上。GitHub 一定程度可以反反映你的能力,如果你的项目点赞多(star),还有很多粉丝关注(followers),你就像个大 V 一样,这就是你的另一份简历。

写作:Gitbook 可以写电子书。

2. GitHub主要界面的功能介绍

2.1 登录

登陆是点击上面任意页面的 Sign in 按钮,进入下面这个界面(登录网址:https://github.com/login)。

输入用户名或邮箱,密码,点击 Sign in 或者回车即可。

 

img

登录成功你也会进入 GitHub 主页面。

2.2 界面

2.2.1 主界面

登录状态下,网站主界面(网址:https://github.com/)如下:

首先看最上面黑色工具条。

最左边是一个 GitHub 的 logo,点它就返回现在这个主界面。

最右边是和个人有关的东西(个人,新建,消息)。

左边搜索框,和搜索引擎一样用来搜索(搜源码,搜资料)。

中间的四个按钮:

  • Pull requests:你想参与别人的项目,或想改进别人的项目,改进后需要提交申请,用 pull requests。

  • Issues:当发现别人项目的 bug,或者有什么问题,怎么和作者交流呢?提一个 Issue ;别人也可以给你的项目提 Issue 反馈问题。Issue 追踪各种想法,增强功能,任务,bug,有点儿像评论功能。

  • Marketplace:应用商店,里面有免费/收费的开发工具。

  • Explore:可以理解成软件里的发现页,点进去推荐一些和你相关的话题、项目、新闻等。

再来看看下面的一大块

左边是项目/Repository 。

  • Repository:翻译为仓库,也是你的项目。你可以理解成一个大的文件夹,或者笔记本。一个项目对应一个 Repository。

中间是你关注的人的动态,比如他给别人点赞,他又建了一个项目。

右边类似于推荐页,网站根据喜好推荐一些相关项目。

 

 

2.2.2 个人界面

右上角那个头像就是个人

点一下头像,就会弹出一个小页面,点击 Settings 可以更改你的资料,Your XXX 都是你创建的一些东西(这里把点赞 star 也理解成你创建的),点击 Your profile 就可以进入你的主页。

 

 

 这里又涉及到一些专用词。

  • Projects:它可不是项目,上面说了 Repository 是项目。它可以翻译为项目板,是 project-boards 的简写, 通过项目板可以灵活地创建适合需求的自定义工作流程,说白了是管理项目流程的,一般不常用。

  • Star:就是点赞功能,这里用作动词,它叫 star 是因为点赞图标就是星星⭐。不过这个点赞比较像知乎里的点赞功能,它会记录在你的动态里。由于 GitHub 没有收藏功能,所以 star 可以用来收藏。

  • Follow:就是关注的意思,点击 Followers 看看谁关注了他,点击 Following 看看他关注了谁

 

2.3.3 项目界面

下面我们看看项目界面。

你可以通过搜索项目、点击别人的界面、推荐页面打开一个项目。1

我们以 Python 为例介绍界面,你可以在搜索框输入 Python 搜索,选择第一个项目.

点进去就是项目/仓库界面啦,我们认识一下主要功能

首先最上面一条我们可以看到这个仓库的信息,像关注点赞都是按钮,点击可以看具体的人。

这里涉及到两个新词语。

  • Watch:关注观察 ,也就是你既可以关注(follow)一个人,也可以关注(watch)一个项目,你关注内容的动态都会显示在主页面。

  • Fork:直译是刀叉,它是指将 GitHub 的某个特定仓库(所有文件)原封不动地复制到自己的账户下。比如你想改进这个项目,加点儿自己的东西,就可以复制一下整个仓库再修改,但是不影响原作者的仓库,你点击 Fork 就能复制。

下面一条是标签页,比如默认的一个标签页 Code 就是展示代码的页面;如果你想看别人提的问题就点击 Issues 页,也许你遇到的问题别人提过并且解决了;有的人想参与这个项目,他改好后就向作者发起了 Pull Requests,希望作者接受他的改进,点进去可以看谁提交过什么样的改进,作者是否采纳。

下面这个主要部分就是仓库里的东西,可以看到就是一个个文件夹或文件,里面可能是代码文件,也可能是其他文档,图片什么的。点击可以看,你也可以点击 Clone or downloads 下载到本地,具体学习。

 

滑到最下面,可以看到一个叫 README.md 的一段文字,仔细看,它就是仓库里的一个文件,只不过展示出来了。它就像产品说明书,或者是一个介绍页,告诉你这个仓库的有关信息,让你对仓库有了简单的了解。

 

img

 

2.4 名称

这里再总结一下 GitHub 的基本名称。

Pull Request:你想参与别人的项目,或想改进别人的项目,改进后需要提交申请,用 pull requests。

Repository:翻译为仓库,也是你的项目。你可以理解成一个大的文件夹,或者笔记本。一个项目对应一个 Repository。

Issue:Issue 追踪各种想法,增强功能,任务,bug,有点儿像评论留言功能。

Star:就是给项目点赞

Fork:将 GitHub的某个特定仓库(所有文件)原封不动地复制到自己的账户下(但不会与原仓库相同)。以此实现分散式版本管理

Follow:关注人,关注后主页有他的动态

Watch:关注项目,关注后主页有项目的动态

Gist:上面没有提到,但是主界面点击头像可以看到 Your Gist。如果你没有一个项目,只是单纯地想分享一些代码片段,就可以写 Gist。

README.md:每当创建项目、初始化时,都会帮你自动生成 README.md 文件并显示在仓库首页。一般都是使用 Markdown 语法(准确来说应该是GitHub Flavored Markdown(GFM)语法)来描述项目的概要、使用流程、许可协议等。

3.GitHub和团队项目

因为我们组要开发一款微信小程序,在了解GitHub的使用方法和特点后,我觉得我们的小组成员可以通过以下几个方面利用GitHub来帮助我们更好的完成团队项目。

  1. 创建GitHub仓库

在GitHub上创建一个新的仓库,可以将微信小程序代码推送到该仓库中,这样团队成员就可以在仓库中对代码进行协作和管理。要设置好分支保护,这样可以避免错误地覆盖主分支代码。

  1. Issue管理

Issues可以用来跟踪和解决问题,我们可以使用GitHub的Issues功能来管理您的任务列表、需求列表,并与组员进行讨论,以便更好的追踪代码和项目的进度。定期检查Issues状态,了解项目的实际情况,确保开发工作跟进。

  1. Pull Request流程

Pull Request是一种用于将代码从一个分支合并到另一个分支的GitHub功能。通过提交Pull Request,团队成员可以方便地将自己修改的代码请求合并到主分支中。Pull Request可以帮助团队进行代码审查,并避免错误地合并代码。

  1. 使用GitHub Action进行CI/CD

GitHub Action是一个内置于GitHub的自动化工具,可以广泛应用于持续集成和持续部署。您可以使用GitHub Action来设置自动测试、构建和部署流程。这样可以避免手动操作导致的错误,并提供更加标准化和自动化的代码构建和部署过程。

总之,使用GitHub可以帮助我们的团队更好地进行小程序开发和协作。在项目中定期检查Issues、Pull Request和代码质量,采用GitHub Action等技术,可以提高团队开发效率和代码质量,减少开发周期的延误。