Skip to content

GitHub 基础操作

更新: 3/27/2025 字数: 0 字 时长: 0 分钟

Github 汉化

Fork

Fork 可以帮助我们更深入的学习源代码,可以根据自己的需求对源代码进行 DIY。

还可以尝试把自己的修改通过 Pull Request,合并进作者的主代码库,为开源项目添砖加瓦。

Issues

GitHub Issues 是一个用于跟踪项目任务、bug、增强请求和其他事项的系统。

可以把它看作一个任务管理工具或者 bug 追踪系统,集成在 GitHub 仓库中。

在使用或学习开源项目的时候,不妨在这里搜索一番,因为有些问题可能别人也遇到过,并且在 Issues 里面已经有人给出了解决方案

主要功能:

  • 问题跟踪:用于报告和讨论项目中的问题,例如 bug、新特性建议等。
  • 任务管理:可以将 Issues 用作任务列表,分配任务给团队成员,并跟踪任务进度。
  • 讨论平台:Issues 可以用于讨论项目相关的任何话题,例如设计决策、技术方案等。
  • 关联提交:可以在提交信息中引用 Issue,将提交与 Issue 关联起来,方便追踪代码变更与 Issue 的关系。

Repository

  • Wiki:项目文档中心,可以用来编写项目文档、用户手册等。
  • Insights:提供仓库的各种分析数据,例如代码提交统计、贡献者统计、活跃度统计等。可以帮助了解项目的健康状况和发展趋势。
  • Project:项目管理工具,可以用来规划和跟踪项目进度,类似于看板。
  • Discussion:讨论区,用于进行项目相关的讨论,例如提问、建议等。

Pull Requests

简称 PR,意思是拉取请求、合并请求(将更改从一个分支合并到另外一个分支的提案)

PR 会比较两个分支之间的代码差异,仓库的管理会来审核这个代码的改动,这个过程叫做 code review 也就是代码审计

  • 作用:一种请求代码合并的机制。开发者在自己的分支上完成代码修改后,通过创建 PR 向主分支发起合并请求。
  • 重要性:是协同开发的核心流程。通过 PR,团队成员可以审查代码,进行讨论,确保代码质量和一致性。
  • 流程:
    1. 创建分支 (branch):从主分支创建一个新的分支进行开发。
    2. 进行修改 (commit):在分支上进行代码修改,并提交 (commit) 到本地仓库。
    3. 推送分支 (push):将本地分支推送到远程仓库。
    4. 创建 PR:在 GitHub 上发起一个从你的分支到目标分支的 Pull Request。
    5. 代码审查 (review):其他开发者审查你的代码,并提出建议。
    6. 修改代码 (fix):根据审查意见修改代码,并提交新的 commit。
    7. 合并 PR (merge):当代码审查通过后,将 PR 合并到目标分支。

Releases

  • 作用:用于发布项目的特定版本。通过 Releases,可以为用户提供可下载的软件包、发行说明和版本号。
  • 重要性:方便用户获取项目的稳定版本,并了解每个版本的新功能和修复。
  • 功能:
    • 版本号:为每个 Release 分配一个唯一的版本号,例如 v1.0.0
    • 发行说明:编写 Release Notes,描述该版本的新功能、改进、修复和已知问题。
    • 可下载文件:上传编译好的二进制文件、源代码包或其他相关文件。
    • Git 标签:在 Git 仓库中创建一个指向该 Release 的 tag。

README

  • 作用:项目的说明文档,通常用 Markdown 格式编写。用于介绍项目的功能、使用方法、安装步骤、贡献指南等。
  • 重要性:是用户了解项目的第一个入口,一个好的 README 可以吸引更多用户使用和参与项目。
  • 内容:
    • 项目名称和简介
    • 功能特性
    • 安装步骤
    • 使用方法
    • 贡献指南
    • 许可证信息
    • 作者信息

License

  • 作用:定义项目的使用许可,规定了其他人可以如何使用、修改和分发你的代码。
  • 重要性:明确项目的开源协议,避免潜在的法律风险。
  • 常见类型:MIT、Apache 2.0、GPL、BSD 等。

.gitignore

  • 作用:指定 Git 忽略的文件或目录,这些文件不会被 Git 跟踪和提交。
  • 重要性:避免将敏感信息(例如密码、API 密钥)或临时文件(例如编译产生的中间文件)提交到版本库。
  • 常见忽略文件:
    • 操作系统生成的文件:例如 .DS_Store(macOS)、Thumbs.db(Windows)
    • 编译产生的中间文件:例如 *.o*.class
    • 日志文件:例如 *.log
    • 依赖管理工具的目录:例如 node_modules (npm)、venv (Python)
    • 包含敏感信息的配置文件

贡献者

The avatar of contributor named as wkwbk wkwbk

页面历史