Coursera 笔记

Module 02 · Git Commands and Managing GitHub ProjectsGit 命令与 GitHub 项目管理

Cloning and Forking GitHub Projects克隆和分叉 GitHub 项目

Coursera ↗

欢迎观看 克隆和分叉 GitHub 项目 的视频!通过本视频,您将学习以下内容:

  • 如何 克隆 和 同步 仓库。
  • 如何通过 分叉 创建新项目的基础。
  • 使用 Git 命令 与其他开发者进行协作。

GitHub 上已经存在超过 1 亿个仓库,其中包含许多有用的项目。无论是加入一个团队,还是基于现有工作创建自己的项目,克隆和分叉都是强大的工具。


克隆与分叉的概念

克隆(Cloning)

克隆指的是在本地机器上创建一个远程仓库的副本。克隆的副本可以与原始仓库之间保持同步。

分叉(Forking)

分叉允许您修改或扩展一个项目,而不会影响原始项目。分叉通常用于将现有项目作为新项目的起点,您还可以将更改提交回原始项目。


如何克隆一个 GitHub 仓库

  1. 前往目标仓库:导航到您想克隆的 GitHub 仓库。
  2. 复制 HTTPS URL:
  • 在仓库页面中,点击 Code 按钮。
  • 在 Clone with HTTPS 区域,点击 复制图标。
  1. 打开终端并切换到目标目录:
  • 在本地机器上,打开终端,导航到您希望存储克隆仓库的目录。
  1. 运行克隆命令:
  • 使用以下命令克隆仓库:
git clone <repository_url>

同步本地更改到远程仓库

步骤 1:添加更改到暂存区

运行以下命令将更改添加到暂存区:

git add <files>
  • 暂存区用于在提交更改之前对更改进行格式化和审核。

步骤 2:提交更改到本地仓库

使用以下命令提交更改,并附上描述性信息:

git commit -m "<message>"
  • -m 参数用于提供提交信息。

步骤 3:推送更改到远程仓库

运行以下命令,将所有已提交的更改推送到远程仓库:

git push

管理远程仓库

远程仓库可以存储在互联网上、网络中,甚至本地计算机上。通常分为两种:

  • 只读 仓库
  • 读写 仓库

常用远程操作命令

命令 功能
git push 将更改从本地仓库传输到远程仓库。
git fetch 将远程仓库的更改传输到本地仓库,但不会自动合并这些更改到当前分支。您可以手动合并更改。
git pull 从远程仓库传输更改到本地仓库,并自动将更改合并到当前分支。

分叉 GitHub 仓库

分叉的用途

  • 使用现有的 GitHub 仓库作为新项目的基础。
  • 独立工作或改进某个项目。
  • 将更改提交回原始项目。

如何分叉仓库

  1. 前往目标仓库:导航到您希望分叉的 GitHub 仓库。
  2. 点击分叉按钮:在页面右上角点击 “Fork” 按钮。
  3. 保留许可证文件:即使没有法律要求,也建议保留项目的许可证文件。

同步分叉仓库与原始仓库

为了保持分叉的仓库与原始工作同步,您需要以下步骤:

  1. 克隆分叉的仓库到本地:
git clone <forked_repository_url>
  1. 配置同步源:
  • 切换到克隆的目录:
    cd <repository_directory>
    
  • 添加原始仓库作为远程源(upstream):
    git remote add upstream <original_repository_url>
    
  1. 验证远程源:
  • 运行以下命令,查看远程源列表:
    git remote -v
    
  1. 从原始仓库获取更改:
  • 获取更新:
    git fetch upstream
    
  • 合并更改到本地分支:
    git merge upstream/main
    
  1. 拉取并合并更改:
  • 使用以下命令一步完成拉取和合并:
    git pull upstream
    

视频回顾

在本视频中,您学习了以下内容:

  • GitHub 上的仓库:
    • GitHub 拥有超过 1 亿个仓库。
    • 您可以克隆一个仓库到本地计算机并与原始仓库同步更改。
    • 您可以分叉一个仓库,将其用作新项目的基础,或独立对其进行更改。
  • Git 操作命令:
    命令 功能
    git clone 克隆远程仓库到本地机器。
    git add 将更改添加到暂存区,准备提交。
    git commit 提交更改到本地仓库,并附上描述信息。
    git push 将本地提交推送到远程仓库。
    git fetch 获取远程仓库的更改,但不会自动合并。
    git pull 获取远程仓库的更改,并自动合并到当前分支。
    git remote add upstream 添加原始仓库为新的远程源,用于同步分叉仓库。

通过这些工具,您可以高效地管理和协作开发项目!