源代码管理工具介绍

GitHub 使用指南:版本控制与协作平台

GitHub封面
“代码是年轻人的艺术,而GitHub是我们的画布。”

作为大学生,无论是参与开源项目、管理课程作业,还是搭建个人技术博客,GitHub都是你技术成长路上不可或缺的工具。
GitHub 是一个全球最大的开源代码托管平台,它不仅为程序员提供了高效的代码管理工具,也为大学生、初学者和研究人员提供了一个理想的协作与分享平台。
对大学生而言,它的价值不仅在于代码管理,更在于:

  1. 项目展示:成为你的“技术简历”,面试官常通过GitHub评估能力:cite[9];
  2. 协作学习:与同学组队完成课程设计,实时同步代码;
  3. 开源参与:学习顶尖项目源码,甚至提交代码改进;
  4. 博客搭建:免费创建技术博客,记录学习历程:cite[1]:cite[7]。

GitHub 对我来说不仅仅是一个代码管理工具,它更是一个重要的学习和项目合作平台。在这篇文章中,我将详细介绍 GitHub 的基本功能及其特色应用,帮助大家了解如何高效使用 GitHub。

1. 什么是 GitHub?

GitHub 是一个基于 Git 的版本控制平台,提供代码托管、版本管理、协作工具等功能。通过 GitHub,开发者可以上传代码、跟踪历史版本、进行团队协作、提交修改和管理项目。在 GitHub 上,开源社区蓬勃发展,很多知名的项目和库都托管在 GitHub 上。对于大学生而言,GitHub 不仅是学习编程的工具,还可以作为个人项目的展示平台,提升自己的技术水平。

2. GitHub 的基本功能

2.1 创建和管理仓库

在 GitHub 中,所有的项目都以“仓库”(Repository)为单位进行管理。每个仓库包含一个或多个文件,可以是代码、文档或者其他类型的文件。大学生可以通过创建公开或私有的仓库,来存储自己的代码和资料。

创建仓库

  1. 登录 GitHub 账号。
  2. 在右上角点击 +,选择 New repository
  3. 填写仓库名称、描述,并选择仓库的可见性(公开或私有)。
  4. 点击 Create repository 完成创建。

创建完仓库后,GitHub 会为我们提供一系列的操作指引,帮助我们将本地代码推送到 GitHub 上。
在创建时你可以选择是否公开仓库,这代表着别人是否可以访问你的仓库来查看你的成果。

如下图所示,我创建了一个名为testRes的私人仓库

在仓库创建完成之后,你可以上传代码,上传你的项目文件,并对其进行管理操作。

在创建仓库时,可以选择创建一个readme.md文件,这个文件中的内容就是你github仓库下方的详情页面,采用markdown语法即可进行编写
如果你希望别人能够了解你的这个仓库项目,那么你就需要对这个md文件进行一些编写,设计一个你自己项目的介绍

如果你找到了一个感兴趣的项目,你可以使用git指令将这个仓库部署到你自己的电脑里
并且你也可以通过git操作进行一些提交代码的操作,而无需打开网站手动上传

克隆仓库到本地

git clone https://github.com/用户名/仓库名.git

提交修改

git add .
git commit -m "添加登陆页面"
git push origin main

2.2 GitHub Pages

GitHub Pages 是 GitHub 提供的一个托管静态网页的服务。作为大学生,如果你想展示自己的个人博客、项目成果或是课题研究,可以使用 GitHub Pages 来托管这些静态网页。它支持自定义域名,且完全免费。

如何使用 GitHub Pages:

  1. 在你的 GitHub 仓库中,点击 Settings
  2. 滚动至 GitHub Pages 部分,在 Source 选择 main 分支。
  3. 上传你的 HTML 文件和其他静态资源,GitHub 会自动为你生成一个网页。

通过 GitHub Pages,你可以轻松搭建个人网站或博客,展示自己的项目和研究成果。

2.3 分支和合并

在 GitHub 中,分支(Branch)是代码开发中的一个重要概念。每次开发新功能时,你可以创建一个新的分支,独立于主分支(通常是 mainmaster)进行开发。这样可以避免直接修改主分支的代码,同时也方便进行多人协作。

创建分支:

  1. 在仓库的 GitHub 页面上,点击 Branch: main
  2. 输入分支名称,然后点击 Create branch

合并分支:

开发完成后,可以将分支合并回主分支。GitHub 提供了简单的 Pull Request 功能,来帮助我们进行代码审查和合并。

  1. 点击 Pull Request,选择要合并的分支和目标分支。
  2. 写下合并说明,点击 Create pull request
  3. 如果没有冲突,点击 Merge pull request 完成合并。

如图所示,我在test branch里新建了一个test.txt文件,点击pull request,在此之后可以输入你对此合并的描述信息,然后点击合并即可

在此之后,你只需要确认修改,新建的test.txt文件就进入了main分支,然后系统会提示你是否删除testbranch,点击删除即可完成修改。

2.4 Issue 跟踪和讨论

GitHub 的 Issue 功能用于跟踪项目中的 bug、任务和功能需求。作为大学生,可以通过 Issue 功能管理自己的项目进度,记录遇到的问题并讨论解决方案。

如何使用 Issue:

  1. 在仓库页面点击 Issues 标签。
  2. 点击 New issue 创建新问题。
  3. 填写问题的标题和描述,可以为问题添加标签(如 bug、enhancement 等),并指派给相关人员。

通过 Issue,团队成员可以更有效地协作,明确任务和责任。
除此之外,如果你的项目是一个公开项目,其它访问你仓库的人也可以对你的项目提出一些修改意见,他们在部署了你的项目后可能遇到某些bug,都可以在这里进行反映。
你们还可以将issue作为一个todolist来看待,列出若干需要实现的功能,每做一个就可以编辑或是删除一条issue

2.5 GitHub Actions

GitHub Actions 是 GitHub 提供的一种自动化工作流工具。它可以帮助开发者在代码提交、拉取请求(Pull Request)或其他事件触发时自动执行一些操作,如自动化测试、部署等。

如何使用 GitHub Actions:

  1. 在仓库中创建一个 .github/workflows 文件夹。
  2. 在该文件夹下创建一个 .yml 文件,定义工作流的触发事件和执行步骤。
  3. 提交代码后,GitHub 会自动执行你定义的工作流。

GitHub Actions 非常适合自动化构建、测试和部署流程,能大大提高工作效率。

3. GitHub 的协作功能

3.1 Fork 和 Pull Request

GitHub 的 Fork 和 Pull Request 是团队协作的重要工具。通过 Fork 功能,你可以复制一个仓库,并在自己的仓库中进行修改,修改完成后可以通过 Pull Request 将自己的修改提交到原仓库。

Fork 和 Pull Request 的工作流程:

  1. Fork 目标仓库到自己的 GitHub 账户。
  2. 在自己的仓库中进行修改。
  3. 提交修改并发起 Pull Request,向原仓库提出合并请求。

这种方式使得多人可以并行开发,避免了直接修改主仓库带来的冲突。
你还可以在仓库根目录创建一个.github/ISSUE_TEMPLATE/group-project.md,定义标准化任务卡
并且使用@mention通知队友,每日某个时间段来同步进度。

例如你在github上找到了一个图书管理系统,你点击fork后,就会在你自己的账户中创建一个相同的仓库。
你可以在自己的仓库中按照上面的branch或者issue任意修改,你可以将项目部署至本地。
如果你希望对这个图书管理系统项目做出一些贡献,比如你制作了一个登陆系统,你确认自己的修改,使用pull request对原仓库发起合并请求
如果对方认为你的修改很不错,可以同意合并,这样你的工作就对一个开源项目做出了贡献,这也是github作为一个开源社区鼓励我们做的事。
你可以查看issue列表来了解原项目缺少哪些功能,或是存在哪些bug。

3.2 合作和贡献

GitHub 上有许多开源项目,大学生可以通过 Fork 和 Pull Request 的方式为这些项目做出贡献。通过参与开源项目,不仅可以提高自己的编程技能,还可以积累宝贵的实践经验,甚至为将来的求职增添亮点。

4. GitHub 的社区与学习资源

GitHub 不仅是一个代码托管平台,还是一个活跃的开发者社区。大学生可以在 GitHub 上找到许多优秀的开源项目,学习其他开发者的代码,提升自己的技术水平。GitHub 还提供了许多优秀的学习资源,如:

  • GitHub Learning Lab:提供了许多互动式学习课程,帮助你快速掌握 Git 和 GitHub 的使用。
  • GitHub Discussions:是一个社区讨论区,你可以在这里提出问题或与其他开发者进行技术交流。

你可以利用大学生身份,向github申请education benefits来获取包括copilot在内的一系列好处

5. 针对我团队项目进行一些github的简单使用

1.创建了一个项目仓库,使用private,仅允许团队成员进行访问。
创建完毕后,将之前制作的ppt上传至仓库中的main分支

然后我创建了一个issue,表示近期最重要的工作

在程序开发的过程中,如果有其它的需求,同样会添加在issue列表中,例如下图,目前程序存在一个bug,项目中某些按钮的位置错位了,所以提出一个issue让负责界面的人去修复

在程序开发一段时间后,我们进行了一次大更新,新增了许多文件,但是由于担心兼容性的问题,因此在上传文件的时候,选择了上传至新分支,命名为version0.5

通过一段时间的检查后,发现上传的文件没有与主分支冲突,可以安全加入,因此点击pull requests进行分支合并,将临时分支合并进入主分支。并且在合并操作中记录了操作者和一些信息
并且在分支合并后,自动删除了临时分支,此时所有新文件全部进入了main



在insights界面中,我们可以直观的看到谁对项目做了哪些贡献,以此来公平的确定期末分工

如图所示,记录了我刚才的一次操作

通过上述介绍的各个操作,我的团队可以多个人并行开发软件和编写文档,而不需要一个个写完后互相发送文件,极大程度的提升了开发效率。
除此之外,github还有许多强大的功能,例如Git Flow分支策略,.gitignore学习资源过滤,liscence开源协议等等
并且基本上所有的github网站操作都可以基于本地的指令,你可以设计一些自动化脚本,自动提交代码和更新仓库。

6. 总结

GitHub 是一个功能强大、灵活多样的工具,适用于大学生进行学习、项目管理和团队合作。通过 GitHub,大学生不仅可以学习版本控制、协作开发,还可以通过参与开源项目,积累宝贵的实践经验。希望这篇博客能帮助你更好地了解和使用 GitHub,让它成为你开发之路上不可或缺的伙伴。GitHub不仅是一个工具,更是一种开发者文化的体现。当你第一次看到自己的博客通过https://用户名.github.io被全球访问,或是参与的PR被开源项目合并时,那种成就感将是你技术道路上的永恒动力。现在,就去创建你的第一个仓库吧——代码的世界,正在等待你的笔触。

“Talk is cheap. Show me the code.” —— Linus Torvalds

posted @ 2025-05-22 22:39  GeminiKun  阅读(59)  评论(0)    收藏  举报