学习笔记001《Github零基础入门教程》

142 阅读5分钟

【上海赛申宇机电科技有限公司】 www.saisenyoo.cn 荣誉出品

一个完整的 GitHub 使用方案,涵盖从零开始的基础,以及在 Windows 和 macOS 上通过 VS Code 和命令行工具使用 GitHub 的详细教程。

核心概念

  • Git: 分布式版本控制系统,用于跟踪文件的更改。
  • GitHub: 基于 Git 的代码托管平台,提供代码仓库、协作工具、问题跟踪等功能。
  • 仓库(Repository): 存储项目代码、文档和其他文件的目录。
  • 分支(Branch): 从主代码分支创建的独立副本,用于开发新功能或修复错误,不影响主分支。
  • 提交(Commit): 将本地更改保存到本地仓库的操作。
  • 推送(Push): 将本地提交上传到 GitHub 远程仓库的操作。
  • 拉取(Pull): 将远程仓库的更改下载到本地仓库的操作。
  • 合并(Merge): 将一个分支的更改合并到另一个分支。
  • 拉取请求(Pull Request): 请求将你的分支更改合并到另一个分支,通常用于代码审查和协作。

详细步骤

  1. 安装 Git

    • Windows:
      • 下载 Git for Windows 安装程序:git-scm.com/download/wi…
      • 运行安装程序,按照提示进行安装。
      • 在安装过程中,建议选择以下选项:
        • Use Git from the Windows Command Prompt(从 Windows 命令提示符使用 Git)
        • Use Git Bash only(仅使用 Git Bash)
        • Checkout Windows-style, commit Unix-style line endings(检出 Windows 样式,提交 Unix 样式行尾)
        • Use MinTTY (the default terminal of MSYS2)(使用 MinTTY)
        • Enable Git Credential Manager(启用 Git 凭据管理器)
    • macOS:
  2. 配置 Git

    • 打开命令行工具(Windows:Git Bash 或命令提示符;macOS:终端)。
    • 设置你的用户名和邮箱(与 GitHub 账户关联):
      git config --global user.name "your-username"
      git config --global user.email "your_email@example.com"  # 替换为你的 GitHub 邮箱
      
    • (可选)配置 SSH 密钥,以便无需每次输入密码即可进行推送和拉取操作(建议配置):
      • 生成 SSH 密钥:
        ssh-keygen -t ed25519 -C "your_email@example.com"  # 替换为你的 GitHub 邮箱
        
        按照提示操作,可以设置密码(可选)。
      • 将公钥添加到 GitHub:
        • 复制公钥内容:
          • Windows:
            cat ~/.ssh/id_ed25519.pub
            
          • macOS:
            pbcopy < ~/.ssh/id_ed25519.pub
            
        • 在 GitHub 网站上,进入 Settings -> SSH and GPG keys -> New SSH key。
        • 粘贴公钥内容,并添加一个标题。
      • 测试 SSH 连接:
        ssh -T git@github.com
        
        如果看到 "You've successfully authenticated" 的消息,则表示配置成功。
  3. 在 VS Code 中使用 Git

    • 安装 GitLens 扩展(强烈推荐):
      • 打开 VS Code。
      • 点击左侧的扩展图标(或按 Ctrl+Shift+X / Cmd+Shift+X)。
      • 搜索 "GitLens",点击安装。
    • 打开一个包含 Git 仓库的文件夹(或通过 "File" -> "Open Folder" 打开)。
    • VS Code 会自动检测到 Git 仓库,并在源代码管理视图(左侧的 Git 图标)中显示更改。
    • 常用操作:
      • 初始化仓库: 如果文件夹还不是 Git 仓库,点击源代码管理视图中的 "Initialize Repository" 按钮。
      • 暂存更改: 点击文件旁边的 "+" 按钮,将更改添加到暂存区。
      • 提交更改: 在消息框中输入提交消息,然后点击 "✓" 按钮(或按 Ctrl+Enter / Cmd+Enter)提交更改。
      • 推送更改: 点击 "..." 按钮,选择 "Push" 将本地提交推送到 GitHub。
      • 拉取更改: 点击 "..." 按钮,选择 "Pull" 从 GitHub 拉取最新更改。
      • 创建分支: 点击左下角的分支名称,选择 "Create new branch"。
      • 切换分支: 点击左下角的分支名称,选择要切换的分支。
      • 合并分支: 切换到目标分支,点击 "..." 按钮,选择 "Merge Branch",然后选择要合并的源分支。
      • 查看历史记录: GitLens 扩展提供了强大的历史记录查看功能,可以查看每个提交的详细信息、比较不同版本等。
  4. 通过命令行工具使用 Git

    • 初始化仓库:
      git init
      
    • 克隆仓库:
      git clone git@github.com:your-username/your-repository.git  # 替换为你的仓库 URL
      
    • 添加文件到暂存区:
      git add .          # 添加所有更改
      git add file.py    # 添加特定文件
      
    • 提交更改:
      git commit -m "Your commit message"
      
    • 推送更改:
      git push origin main  # 推送到 main 分支(或 master 分支,取决于你的仓库设置)
      git push origin your-branch  # 推送到特定分支
      
    • 拉取更改:
      git pull origin main  # 从 main 分支拉取
      git pull origin your-branch  # 从特定分支拉取
      
    • 创建分支:
      git branch your-branch
      
    • 切换分支:
      git checkout your-branch
      
    • 合并分支:
      git checkout main     # 切换到目标分支
      git merge your-branch  # 合并源分支
      
    • 查看状态:
      git status
      
    • 查看日志:
      git log
      
    • 查看差异:
      git diff
      
  5. 协同开发

    • fork 对方的仓库
    • 提交pull request
  6. 进阶技巧

    • .gitignore 文件:
      • 创建 .gitignore 文件,指定不需要 Git 跟踪的文件或目录(例如,临时文件、编译生成的文件、敏感信息等)。
      • 示例 .gitignore 内容:
        # 忽略所有 .pyc 文件
        *.pyc
        
        # 忽略 __pycache__ 目录
        __pycache__/
        
        # 忽略 .env 文件(通常包含敏感信息)
        .env
        
        # 忽略 VS Code 的工作区设置
        .vscode/
        
    • 使用标签(Tag):
      • 为重要的提交(例如,发布版本)打上标签。
      • 创建标签:
        git tag v1.0.0  # 创建轻量级标签
        git tag -a v1.0.0 -m "Version 1.0.0"  # 创建附注标签
        
      • 推送标签:
        git push origin v1.0.0
        
    • 解决冲突:
      • 当合并分支时,如果 Git 无法自动解决冲突,会提示你手动解决。
      • 打开冲突的文件,查找类似以下的标记:
        <<<<<<< HEAD
        代码版本 A
        =======
        代码版本 B
        >>>>>>> your-branch
        
      • 手动修改代码,解决冲突。
      • 解决冲突后,使用 git add 将文件标记为已解决,然后继续提交和合并。

总结

这是一个从零开始使用 GitHub 的完整方案,涵盖了 Windows 和 macOS 平台,以及 VS Code 和命令行工具的使用方法。通过这个教程,你应该能够:

  • 理解 Git 和 GitHub 的基本概念。
  • 在本地和远程仓库之间进行代码同步。
  • 使用分支进行开发和协作。
  • 使用 VS Code 和命令行工具进行 Git 操作。
  • 处理常见的 Git 问题,例如冲突解决。
  • 创建pull request与他人进行协同开发