Coursera 笔记

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

Cloning versus Forking克隆与分叉的区别

Coursera ↗

在本视频中,您将学习 克隆(Cloning) 和 分叉(Forking) 的区别及使用场景。此外,还将了解两种工作流的操作步骤。GitHub 允许多个开发者并行协作,无论是创建新项目还是基于现有项目开发,克隆与分叉都是关键工具。


克隆与分叉的核心区别

功能 克隆(Cloning) 分叉(Forking)
目的 在本地创建远程仓库的副本,便于开发与同步。 用现有项目作为新项目的基础,支持独立开发。
用法 通过 GitHub 界面复制 URL,然后使用 git clone 命令。 在 GitHub 界面点击 Fork 按钮,没有对应的 Git 命令。
权限 必须对远程仓库拥有访问权限(如公开仓库或具有私有仓库的权限)。 分叉的仓库成为开发者独立的项目,之后的更改不会直接影响原始仓库,需通过拉取请求(Pull Request)提交更改。
同步机制 可通过 git push 和 git pull 命令同步本地与远程仓库的更改。 可将分叉的仓库同步至本地,完成开发后,通过拉取请求将更改提交给原始仓库维护者(无直接推送权限)。

使用场景示例

分叉的场景

假设您有一个现有项目 Grand Messaging,希望基于它创建一个新项目 Grand Messaging Plus,添加新功能和改进。在这种情况下,您可以:

  1. 分叉原始仓库,使其成为新项目的起点。
  2. 独立开发,并通过拉取请求提交更改给原始项目(如果需要)。

分叉的操作步骤

  1. 分叉仓库:
  • 进入目标仓库页面,点击右上角的 “Fork” 按钮。
  • 分叉后的仓库称为 “origin”,原始仓库称为 “upstream”。
  1. 克隆分叉的仓库到本地:
git clone <forked_repository_url>
  1. 创建分支:
git branch <branch_name>
git checkout <branch_name>
  1. 提交更改:
  • 暂存文件:
    git add <files>
    
  • 提交更改:
    git commit -m "描述更改内容"
    
  1. 推送分支到远程仓库:
git push origin <branch_name>
  1. 创建拉取请求:
  • 在 GitHub 界面点击 Pull requests,选择 New pull request。
  • 原始仓库的维护者可以查看、反馈并决定是否合并更改。


克隆的场景

如果您需要让团队成员协作开发,例如新增开发者希望参与 Grand Messaging Plus 项目,可以:

  1. 克隆远程仓库到本地。
  2. 在本地修改代码并与远程仓库同步。

克隆的操作步骤

  1. 获取仓库副本:
  • 进入目标仓库页面,点击 Code 按钮,复制 HTTPS URL。
  • 使用以下命令克隆仓库:
    git clone <repository_url>
    
  1. 开发工作流:
  • 创建分支:
    git branch <branch_name>
    git checkout <branch_name>
    
  • 修改文件后,暂存并提交更改:
    git add <files>
    git commit -m "描述更改内容"
    
  • 推送到远程仓库:
    git push origin <branch_name>
    
  1. 同步与合并:
  • 如果需要同步远程仓库的更改,可以使用:
    git pull
    
  • 合并分支更改到主分支:
    git checkout main
    git merge <branch_name>
    

克隆与分叉的工作流总结

分叉工作流

  1. 分叉仓库:在 GitHub 界面点击 Fork。
  2. 克隆分叉的仓库:
git clone <forked_repository_url>
  1. 创建分支并开发:
git branch <branch_name>
git checkout <branch_name>
  1. 提交与推送:
git add <files>
git commit -m "描述更改内容"
git push origin <branch_name>
  1. 提交拉取请求:
  • 在 GitHub 界面创建 Pull Request。


克隆工作流

  1. 克隆仓库:
git clone <repository_url>
  1. 创建分支并开发:
git branch <branch_name>
git checkout <branch_name>
  1. 提交与推送:
git add <files>
git commit -m "描述更改内容"
git push origin <branch_name>


视频回顾

在本视频中,您学习了:

  • 分叉 是基于现有项目创建新项目的起点,允许独立开发。
  • 克隆 是在本地创建远程仓库的副本,便于协作开发。
  • 常用 Git 命令:
命令 功能
git clone 克隆远程仓库到本地。
git branch 创建新分支。
git checkout 切换到指定分支。
git add 暂存更改到暂存区。
git commit 提交更改到本地仓库。
git push 推送更改到远程仓库。
git pull 从远程仓库获取并合并最新更改。
git merge 合并分支更改到当前分支。
git remote add upstream 添加原始仓库为远程源,以便与分叉仓库同步。

通过这些工作流和命令,您可以高效地协作开发并管理代码版本!