GitHub 从零开始:手把手教你玩转代码仓库 – wiki基地


GitHub 从零开始:手把手教你玩转代码仓库

引言:代码世界的大门与协作的桥梁

在当今的软件开发领域,GitHub 已经不仅仅是一个工具,它更是全球开发者社区的心脏、代码协作的基石和个人技术能力的展示窗口。无论你是一名初出茅庐的编程新手,还是经验丰富的资深开发者,掌握 GitHub 都是一项必备技能。它能帮助你管理代码版本、与团队高效协作、参与开源项目,甚至为你未来的职业生涯添砖加瓦。

本文将带领你从零开始,一步步探索 GitHub 的奥秘。我们将深入浅出地讲解其核心概念,并通过详尽的步骤指导你完成日常操作,最终让你能够自信地在 GitHub 的世界中畅游,管理自己的项目,并与他人协同工作。

第一章:初识 GitHub —— 它究竟是什么?

在深入学习之前,我们首先要搞清楚 GitHub 的基本概念。

1.1 Git 与 GitHub 的区别

很多人会将 Git 和 GitHub 混淆,但它们是两个不同的概念:

  • Git (版本控制系统):Git 是一款分布式版本控制系统 (DVCS)。它是一个安装在你本地电脑上的软件,负责跟踪你代码文件的每次修改,保存这些修改的历史记录,并且允许你在不同版本之间自由切换。它不依赖于任何服务器,你可以在本地独立完成所有版本控制操作。想象一下,它就像一个超级智能的“存档”系统,每一次“存档”都会记录下所有文件的状态,并且你能随时回到任何一个“存档点”。

  • GitHub (基于 Git 的代码托管平台):GitHub 是一个基于 Git 的在线代码托管平台。它提供了一个网页界面和一系列服务,让开发者能够将本地的 Git 仓库上传到云端,从而实现代码的远程存储、团队协作、项目管理、代码审查等功能。简单来说,GitHub 就像一个大型的、全球共享的、基于 Git 的代码“云盘”和“社交网络”。它让你的本地 Git 仓库有了远程的备份和协作的可能。

总结: Git 是工具,GitHub 是平台。没有 Git,就没有 GitHub;有了 Git,GitHub 让 Git 的能力得到了极大扩展。

1.2 为什么我们需要 GitHub?

  1. 版本控制:精确记录每次代码修改,你可以随时回溯到任何一个历史版本,无需担心代码丢失或破坏。
  2. 团队协作:多个开发者可以同时在同一项目上工作,Git 和 GitHub 能够有效地管理和合并大家的贡献,避免冲突。
  3. 代码备份:你的代码存储在云端,即使本地电脑出现问题,代码也安全无虞。
  4. 开源社区:GitHub 是世界上最大的开源项目社区,你可以在这里发现无数宝藏项目,学习他人的代码,并为之贡献。
  5. 个人作品集:你的 GitHub 个人主页就是你的编程简历,可以展示你参与过的项目、贡献的代码和技术能力。
  6. 项目管理:提供 Issues(问题追踪)、Pull Requests(代码审查)、Wiki(项目文档)等功能,帮助团队更好地管理项目进度和质量。

第二章:准备工作——搭建你的 GitHub 环境

在正式开始之前,我们需要做一些准备。

2.1 注册 GitHub 账号

  1. 打开浏览器,访问 GitHub 官网:https://github.com/
  2. 点击右上角的 “Sign up” 按钮。
  3. 按照提示输入你的电子邮件地址、创建密码和用户名。
  4. 完成人机验证。
  5. 验证你的电子邮件地址(GitHub 会发送一封验证邮件到你的邮箱)。

至此,你拥有了一个 GitHub 账号,迈出了代码之旅的第一步!

2.2 安装 Git

由于 GitHub 是基于 Git 的,所以你需要在本地电脑上安装 Git。

  • Windows 系统

    1. 访问 Git 官网:https://git-scm.com/downloads
    2. 点击 “Windows” 下载安装包。
    3. 运行下载的 .exe 文件。安装过程中,对于大多数选项,直接点击 “Next” 使用默认设置即可。建议在 “Adjusting your PATH environment” 步骤选择 “Git from the command line and also from 3rd-party software”,这样你可以在任何命令行窗口中使用 Git 命令。
    4. 安装完成后,打开命令提示符 (cmd) 或 PowerShell,输入 git --version,如果显示 Git 的版本号,则说明安装成功。
  • macOS 系统

    1. 最简单的方法是安装 Xcode Command Line Tools。打开终端 (Terminal),输入 xcode-select --install。如果 Git 未安装,系统会提示你安装这些工具,其中就包含了 Git。
    2. 或者,你可以使用 Homebrew 包管理器安装:
      • 如果未安装 Homebrew,请访问 https://brew.sh/ 按照官网说明安装。
      • 安装 Homebrew 后,在终端输入 brew install git
    3. 安装完成后,打开终端,输入 git --version 进行验证。
  • Linux 系统

    1. 根据你使用的 Linux 发行版,打开终端并输入相应命令:
      • Debian/Ubuntusudo apt update && sudo apt install git
      • Fedorasudo dnf install git
      • CentOS/RHELsudo yum install git (较旧版本) 或 sudo dnf install git (较新版本)
    2. 安装完成后,输入 git --version 进行验证。

2.3 配置 Git 用户信息

安装 Git 后,你需要告诉 Git 你是谁,这样它才能在你提交代码时记录你的身份。

在命令行/终端中输入以下两条命令(请替换为你的 GitHub 用户名和注册邮箱):

bash
git config --global user.name "Your GitHub Username"
git config --global user.email "[email protected]"

  • --global 参数表示这些设置将应用于你电脑上的所有 Git 仓库。如果你想为某个特定项目使用不同的用户名和邮箱,可以进入项目目录后,不加 --global 参数重新配置。

第三章:核心概念——理解代码仓库的基石

在操作之前,理解一些核心概念至关重要。

  1. 仓库 (Repository / Repo)

    • 简称“Repo”,是 Git 中存储项目文件的基本单位。它包含了项目的所有文件、文件夹以及这些文件的所有版本历史记录。你可以把一个仓库想象成一个项目的“文件夹”,但这个文件夹是“超级智能”的,它能记住你对其中所有文件所做的每一次更改。
    • 一个项目通常对应一个仓库。
  2. 提交 (Commit)

    • “提交”是 Git 中记录文件变化的基本操作。每次你完成了一系列修改,并觉得这些修改值得被保存为一个独立的版本时,你就可以进行一次提交。
    • 每次提交都会生成一个唯一的 ID (Hash),并包含作者信息、提交时间以及一段描述本次修改的“提交信息”。
    • 提交就像是游戏中的“存档点”,你可以随时回到任何一个存档点。
  3. 分支 (Branch)

    • Git 的一大亮点。分支可以让你从项目的主线(通常是 mainmaster 分支)中分离出来,独立地进行开发。
    • 想象一下,main 分支是电影的主线剧情,而当你需要在电影中尝试一个不同的结局或加入一个新角色时,你就可以创建一个新的“分支剧情”,独立地进行拍摄和编辑,而不会影响到主线。
    • 分支通常用于开发新功能、修复 Bug 或进行实验性尝试。
  4. 合并 (Merge)

    • 当你在一个分支上的开发工作完成后,你可以将该分支上的所有修改合并回主线或其他分支。
    • 例如,你开发了一个新功能分支,测试通过后,就可以将其合并到 main 分支。
  5. 拉取请求 (Pull Request / PR)

    • 这是 GitHub 上实现团队协作的核心机制。当你在一个分支上完成了功能开发或 Bug 修复,并希望将这些更改合并到主线分支时,你会发起一个 Pull Request。
    • PR 会通知项目维护者或团队成员,你的代码已经准备好被审查和合并。其他成员可以在 PR 页面上查看你的代码改动、提出意见、进行讨论,并在代码通过审查后,由项目维护者将其合并到目标分支。
  6. 克隆 (Clone)

    • 将 GitHub 上的远程仓库完整地复制到你本地电脑上的操作。这是你开始在一个项目上工作的第一步。
  7. 推送 (Push)

    • 将你本地 Git 仓库中的最新提交同步到 GitHub 远程仓库的操作。这样,你的本地修改才能被其他人看到,并作为远程仓库的备份。
  8. 拉取 (Pull)

    • 从 GitHub 远程仓库获取最新代码并合并到你本地仓库的操作。在你开始工作前或与他人协作时,经常需要执行此操作以确保你的本地代码是最新版本。

第四章:从零开始——创建你的第一个 GitHub 仓库

现在,我们来创建一个全新的 GitHub 仓库。

4.1 在 GitHub 网站上创建仓库 (推荐新手)

这是最直接、最简单的方式。

  1. 登录你的 GitHub 账号。
  2. 点击页面右上角的 + 按钮,然后选择 New repository (新建仓库)。
  3. 进入创建仓库页面:

    • Repository name (仓库名称):为你的项目起一个简洁、有意义的名称(例如:my-first-repo, hello-world-project)。
    • Description (描述):简要描述你的项目是做什么的,这有助于他人理解你的项目。
    • Public/Private (公开/私有)
      • Public (公开):任何人都可以在 GitHub 上看到你的代码。适用于开源项目、个人作品集。
      • Private (私有):只有你或你邀请的协作者才能看到你的代码。适用于商业项目或个人不希望公开的项目。
    • Initialize this repository with: (初始化这个仓库时添加):
      • Add a README file (添加 README 文件)强烈建议勾选。README.md 文件是项目的说明书,会显示在仓库主页,包含项目介绍、安装使用说明等。
      • Add .gitignore (添加 .gitignore)建议勾选。它用于指定 Git 应该忽略哪些文件或文件夹(例如编译生成的文件、依赖包、敏感信息等),避免将不必要的文件提交到仓库。你可以根据你的编程语言选择合适的模板。
      • Choose a license (选择许可证):如果你希望你的项目开源并受特定许可证保护,可以在这里选择(例如 MIT、Apache 2.0 等)。
  4. 点击 Create repository 按钮。

恭喜你!你的第一个 GitHub 仓库就创建成功了。你现在可以看到仓库页面,其中包含了 README.md 文件。

4.2 将本地项目与 GitHub 仓库关联 (如果你已经有本地项目)

如果你已经有一个本地项目,想把它上传到 GitHub,可以这样做:

  1. 在本地项目文件夹中初始化 Git 仓库
    打开命令行/终端,进入你的项目根目录,执行:
    bash
    cd /path/to/your/project
    git init

    这会在你的项目文件夹中创建一个 .git 隐藏文件夹,表示它现在是一个 Git 仓库了。

  2. 将项目文件添加到暂存区
    bash
    git add .

    . 表示添加当前目录下所有文件。如果你只想添加特定文件,可以 git add filename.js

  3. 提交文件到本地仓库
    bash
    git commit -m "Initial commit"

    -m 后面跟着的是本次提交的说明信息,清晰的提交信息是好习惯。

  4. 在 GitHub 上创建一个空仓库
    按照 4.1 步骤,但不要勾选 Add a README file, Add .gitignore, Choose a license,因为这些文件你可能已经在本地创建了。

  5. 关联本地仓库与远程仓库
    在 GitHub 创建空仓库后,它会给你两行命令,用于关联本地仓库。通常是这样的:
    bash
    git remote add origin https://github.com/YourUsername/your-repo-name.git
    git branch -M main # 将默认分支从 master 重命名为 main (如果你的 Git 版本较新,可能默认就是 main)

    • git remote add origin ...:将远程仓库的地址命名为 originorigin 是一个约定俗成的名称,指向你的主远程仓库。
    • git branch -M main:确保你的本地主分支名为 main,并与 GitHub 默认的 main 分支保持一致。
  6. 推送代码到 GitHub
    bash
    git push -u origin main

    • git push:将本地提交推送到远程仓库。
    • -u origin main:设置 origin 仓库的 main 分支为本地 main 分支的默认上游(upstream)分支。这意味着以后你只需输入 git pushgit pull 即可,Git 会自动知道要推送到 originmain 分支。

现在,刷新你的 GitHub 仓库页面,你会看到你的本地项目文件已经成功上传了!

第五章:日常操作——代码修改与同步

现在你已经创建并关联了仓库,接下来是日常开发中的基本流程。

5.1 克隆仓库到本地

如果你想在另一台电脑上工作,或者团队成员想要获取你的项目,他们需要克隆仓库。

  1. 访问 GitHub 上的目标仓库页面。
  2. 点击绿色的 Code 按钮。
  3. 复制 HTTPS URL (例如 https://github.com/YourUsername/your-repo-name.git)。
  4. 打开命令行/终端,切换到你希望存放项目的目录,然后执行:
    bash
    git clone https://github.com/YourUsername/your-repo-name.git

    这会在当前目录下创建一个名为 your-repo-name 的文件夹,并将仓库所有内容下载到其中。

5.2 进行修改

进入克隆下来的项目文件夹,你可以像往常一样使用你的代码编辑器(如 VS Code)修改、添加或删除文件。

例如,我们修改 README.md 文件,添加一行说明:

“`markdown

My First GitHub Repo

这是一个用于学习 GitHub 的示例仓库。

我刚刚添加了这一行内容。
“`

5.3 暂存更改 (Staging)

当你完成了修改,你需要告诉 Git 哪些文件是你希望包含在下一次提交中的。这个过程称为“暂存”。

“`bash

查看工作区和暂存区的状态

git status

添加所有修改过的文件到暂存区

git add .

或者只添加特定文件

git add README.md
git add src/index.js
``
*
git status会显示你修改了哪些文件,哪些文件已暂存,哪些未暂存。
*
git add .` 将当前目录下的所有修改(包括新建、修改、删除的文件)添加到暂存区。
* 为什么需要暂存区? 它允许你精细地控制哪些修改被包含在下一次提交中。你可以将多个修改分别提交,使每次提交更专注、更有意义。

5.4 提交更改 (Committing)

一旦文件被暂存,你就可以提交它们到本地仓库了。

bash
git commit -m "Added a new line to README for demonstration"

* -m 参数后是本次提交的描述信息。写清晰、有意义的提交信息至关重要。好的提交信息应该简要说明本次提交“做了什么”以及“为什么做”。
* 好的例子:feat: Implement user authentication (添加用户认证功能)
* 好的例子:fix: Resolve #123 - bug in login form (修复 #123 号问题 – 登录表单 Bug)
* 不好的例子:update, fixed, changed files

5.5 推送更改到 GitHub (Pushing)

你的修改现在只存在于你本地的 Git 仓库中。要将它们同步到 GitHub 上的远程仓库,你需要推送:

bash
git push origin main

* origin:远程仓库的名称(默认是 origin)。
* main:要推送到的远程分支名称(通常是 mainmaster)。
* 如果你在首次推送时使用了 -u 参数 (git push -u origin main),那么之后你只需输入 git push 即可。

现在,刷新你的 GitHub 仓库页面,你会看到 README.md 文件的更改已经同步了。

5.6 拉取最新代码 (Pulling)

在团队协作中,或者你在多台设备上工作时,其他成员可能已经推送了新的代码到 GitHub。为了确保你的本地仓库是最新版本,你需要拉取代码:

bash
git pull origin main

* git pull 命令会从远程仓库获取最新的修改,并尝试自动合并到你当前的本地分支。
* 在每次开始工作前,或者当你长时间没有同步代码时,最好先执行 git pull

第六章:协作利器——分支与合并

分支是 Git 和 GitHub 最强大的功能之一,它让并行开发成为可能。

6.1 为什么需要分支?

  • 隔离开发:在一个独立的分支上开发新功能或修复 Bug,不会影响到项目的主线代码(通常是 main 分支),从而保持主线代码的稳定性和可用性。
  • 并行工作:多个开发者可以同时在不同的分支上开发各自的功能,互不干扰。
  • 风险控制:新功能开发完成后,经过充分测试才能合并到主线,降低引入 Bug 的风险。

6.2 分支操作

  1. 查看所有分支
    bash
    git branch

    • 当前所在分支会以星号 * 标记。
  2. 创建新分支
    例如,我们要开发一个名为 feature/add-login 的新功能:
    bash
    git branch feature/add-login

    这只是创建了分支,但你仍在 main 分支上。

  3. 切换到新分支
    bash
    git checkout feature/add-login

    或者,更常用的一步到位命令:创建并切换到新分支:
    bash
    git checkout -b feature/add-login

  4. 在新分支上工作
    现在你可以在 feature/add-login 分支上进行代码修改、添加、提交等操作,这些操作都只会影响当前分支,不会影响 main 分支。

  5. 将分支推送到 GitHub
    如果你希望与团队成员分享你的新分支,或者在 GitHub 上发起 Pull Request,你需要将新分支推送到远程仓库:
    bash
    git push -u origin feature/add-login

    • -u 参数同样是为了设置上游分支,方便后续直接 git push
  6. 切换回主分支
    当你在 feature/add-login 分支上的工作暂时告一段落,或者需要回到主分支查看代码时:
    bash
    git checkout main

  7. 合并分支
    假设你在 feature/add-login 分支上的开发工作已经完成并经过测试,现在想将其合并到 main 分支:

    • 首先,切换到目标分支(这里是 main 分支):
      bash
      git checkout main
    • 然后,拉取主分支的最新代码,确保你的本地 main 分支是最新的,避免不必要的冲突:
      bash
      git pull origin main
    • 最后,执行合并操作
      bash
      git merge feature/add-login

      Git 会尝试将 feature/add-login 分支上的所有修改合并到 main 分支。
  8. 解决合并冲突 (Merge Conflict)

    • 如果在合并过程中,Git 发现两个分支对同一个文件的同一行代码进行了不同的修改,它就无法自动合并,会产生“合并冲突”。
    • 此时,Git 会在冲突文件中标记出冲突区域(通常用 <<<<<<<, =======, >>>>>>> 标识),你需要手动编辑文件,选择保留哪个版本的代码,或者进行新的修改。
    • 解决冲突后,需要再次 git add . 暂存文件,然后 git commit -m "Resolve merge conflict" 进行提交。
  9. 删除分支
    当一个分支的功能已经合并到 main 分支并且不再需要时,你可以删除它:
    bash
    git branch -d feature/add-login # 删除本地分支
    git push origin --delete feature/add-login # 删除远程分支

    • -d 参数只能删除已合并的分支。如果分支未合并,需要使用 -D 参数强制删除(慎用)。

第七章:团队协作的核心——Pull Request (PR)

Pull Request (PR) 是 GitHub 上进行团队协作和代码审查的主要方式。

7.1 PR 的作用

  • 代码审查 (Code Review):PR 提供了一个平台,让团队成员可以审查你的代码,提出改进意见,确保代码质量和项目规范。
  • 讨论与反馈:在 PR 页面上,成员可以对特定的代码行或整个 PR 进行评论和讨论。
  • 自动化测试:GitHub Actions 等 CI/CD 工具可以与 PR 集成,自动运行测试,确保代码不会破坏现有功能。
  • 清晰的合并流程:PR 提供了一个结构化的流程,确保只有经过审查和批准的代码才能被合并到主线。

7.2 创建 Pull Request

通常的流程是:

  1. 在你自己的分支上完成功能开发(例如 feature/add-login),并多次提交到该分支。
  2. 将你的分支推送到 GitHub
    bash
    git push origin feature/add-login
  3. 前往 GitHub 仓库页面

    • 刷新页面后,GitHub 会智能地检测到你刚刚推送了一个新分支,并在页面顶部或 “Branches” 标签页中显示一个黄色的提示,让你 Compare & pull request (比较并创建拉取请求)。
    • 你也可以手动点击 Pull requests 标签页,然后点击 New pull request 按钮。
  4. 填写 PR 信息

    • base (基础分支):选择你希望将代码合并到的目标分支(通常是 main)。
    • compare (比较分支):选择你的特性分支(例如 feature/add-login)。
    • Title (标题):简明扼要地描述你的 PR 目的(例如:”feat: Implement user login functionality”)。
    • Description (描述):详细说明你的 PR 做了什么,解决了哪些问题,如何测试,以及其他需要注意的事项。你可以在这里引用相关 Issues(例如 Closes #123)。
    • Reviewers (审查者):你可以指定团队中哪些成员来审查你的代码。
    • Labels, Projects, Milestones:用于项目管理,可以为 PR 打上标签,分配到特定的项目或里程碑。
  5. 创建 PR:点击 Create pull request 按钮。

7.3 审查与合并 Pull Request

  1. 等待审查:一旦 PR 被创建,指定的审查者会收到通知。他们会进入 PR 页面,查看你的代码改动。
  2. 代码审查:审查者可以在 Files changed 标签页逐行查看代码,并提出评论、建议或请求修改。你可以在 Conversation 标签页与审查者进行讨论。
  3. 解决反馈:根据审查者的反馈,你可以在本地修改代码,然后 git add .git commit -m "Fix review comments",最后 git push origin feature/add-login。这些新的提交会自动更新到已有的 PR 中。
  4. 批准 (Approve):当所有审查者都满意你的代码后,他们会批准你的 PR。
  5. 合并 PR:一旦 PR 通过审查并解决了所有冲突,项目维护者或你本人(如果你有权限)就可以点击页面底部的 Merge pull request 按钮将其合并到 main 分支。
    • GitHub 通常提供几种合并方式:Create a merge commit (创建一个合并提交)、Squash and merge (压缩并合并所有提交为一条提交)、Rebase and merge (变基并合并)。对于新手,默认的 Create a merge commit 即可。
  6. 删除分支:合并完成后,GitHub 会提示你删除已经合并的分支。建议勾选,保持仓库的整洁。

第八章:进阶功能与最佳实践

8.1 README.md 文件

  • 重要性:一个好的 README.md 文件是项目的门面。它应该清晰地介绍项目、如何安装、如何运行、如何贡献、许可证信息等。
  • Markdown 语法:README 文件通常使用 Markdown 语法编写,它简单易学,能让你快速创建结构化且美观的文档。

8.2 .gitignore 文件

  • 作用:告诉 Git 哪些文件或目录应该被忽略,不被版本控制。
  • 常见应用
    • 编译生成的文件 (如 .class, .o)
    • 日志文件 (如 *.log)
    • 依赖安装目录 (如 node_modules/, vendor/)
    • 配置文件或敏感信息 (如 .env, config.ini)
    • IDE 配置文件 (如 .vscode/, .idea/)
  • 使用方法:在项目根目录创建一个 .gitignore 文件,每行写入一个要忽略的文件名或模式(支持通配符)。
  • 获取模板:在创建仓库时 GitHub 提供了各种语言的 .gitignore 模板,你也可以在 https://www.toptal.com/developers/gitignore 生成。

8.3 Issue Tracking (问题追踪)

  • GitHub 的 Issues (问题) 功能是项目管理的重要组成部分。
  • 用途:用于追踪 Bug、提出新功能请求、记录待办事项、进行任务分配等。
  • 如何使用:在仓库页面的 Issues 标签页中,点击 New issue 创建。可以为 Issue 分配负责人、标签、里程碑。

8.4 GitHub Pages

  • GitHub Pages 允许你直接从 GitHub 仓库托管静态网站。
  • 用途:用于项目文档、个人简历、博客等。
  • 原理:通常是将特定分支(如 gh-pagesmain)上的 HTML、CSS、JavaScript 文件部署为一个网站,地址通常是 yourusername.github.io/your-repo-name

8.5 Star 与 Fork

  • Star (星标):类似于“收藏”或“点赞”。如果你喜欢一个项目,可以给它 Star,以便将来快速找到,也表示对作者的认可。
  • Fork (派生):将一个远程仓库完整复制一份到你自己的 GitHub 账号下。
    • 用途:当你希望参与一个开源项目,但又没有直接修改权限时,你可以 Fork 该项目,然后在你自己的 Fork 仓库中进行修改。修改完成后,你可以向原仓库发起 Pull Request。

8.6 良好的提交信息习惯

  • 简洁明了:标题(第一行)不超过 50-72 个字符,概括本次提交的核心内容。
  • 详细描述:如果需要,在标题后空一行,然后提供更详细的描述,解释“为什么”进行这些更改,以及“解决了什么问题”。
  • 规范化:可以采用约定式提交 (Conventional Commits) 规范,例如:
    • feat: add new user registration endpoint (新功能)
    • fix: resolve #123 - bug in login form validation (修复 bug)
    • docs: update README with installation instructions (文档更新)
    • chore: update dependencies (日常维护)

8.7 GitHub Desktop (可选的 GUI 客户端)

  • 如果你觉得命令行操作复杂,或者不习惯使用终端,可以尝试使用 GitHub Desktop。
  • 它提供了一个图形用户界面,可以直观地完成克隆、提交、推送、拉取、分支、合并等操作。
  • 下载地址https://desktop.github.com/

第九章:常见问题与疑难解答

  1. 合并冲突 (Merge Conflicts)

    • 问题:当两个分支对同一个文件的相同部分进行了不同的修改时,Git 无法自动合并。
    • 解决
      1. Git 会在冲突文件中用 <<<<<<<, =======, >>>>>>> 标记冲突区域。
      2. 手动编辑文件,保留你希望的代码,删除标记符。
      3. git add <conflicted-file> 暂存解决冲突后的文件。
      4. git commit -m "Resolve merge conflict" 提交解决。
  2. 认证失败 (Authentication Failed)

    • 问题:在使用 git pushgit pull 时提示认证失败,要求输入用户名和密码。
    • 解决:GitHub 已不再支持使用账号密码进行 Git 操作,需要使用个人访问令牌 (Personal Access Token, PAT)
      1. 在 GitHub 网站,点击头像 -> Settings -> Developer settings -> Personal access tokens -> Tokens (classic)。
      2. 点击 Generate new token,选择过期时间、名称和必要的权限(通常 repo 权限就足够)。
      3. 生成后,复制 PAT。在命令行需要输入密码时,粘贴你的 PAT 即可。
      4. 为了方便,可以配置 Git 凭据管理器,这样就不用每次都输入 PAT 了。
  3. 忘记 Git 命令怎么办?

    • 解决:使用 git help <command>。例如 git help commit 会显示 commit 命令的详细用法。
    • 善用搜索引擎,网上有大量 Git 教程和速查表。

结语:实践是最好的老师

恭喜你,已经完成了 GitHub 从零到入门的旅程!你现在应该对 GitHub 的核心概念、日常操作以及团队协作方式有了全面的理解。

GitHub 的学习是一个持续的过程,本文只是为你打开了一扇大门。以下是未来你可以继续探索的方向:

  • GitHub Actions:自动化 CI/CD (持续集成/持续部署)。
  • GitHub Projects:更高级的项目管理工具。
  • GitHub API:通过编程与 GitHub 交互。
  • 参与开源项目:通过贡献代码来提升自己的技能,结识更多开发者。

最重要的是:多动手实践! 没有任何理论知识能取代实际操作带来的深刻理解。现在就去创建你的下一个仓库,尝试新功能,并积极与他人协作吧!GitHub 的世界等你来探索。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部