【上海赛申宇机电科技有限公司】 www.saisenyoo.cn 荣誉出品
一个完整的 GitHub 使用方案,涵盖从零开始的基础,以及在 Windows 和 macOS 上通过 VS Code 和命令行工具使用 GitHub 的详细教程。
核心概念
- Git: 分布式版本控制系统,用于跟踪文件的更改。
- GitHub: 基于 Git 的代码托管平台,提供代码仓库、协作工具、问题跟踪等功能。
- 仓库(Repository): 存储项目代码、文档和其他文件的目录。
- 分支(Branch): 从主代码分支创建的独立副本,用于开发新功能或修复错误,不影响主分支。
- 提交(Commit): 将本地更改保存到本地仓库的操作。
- 推送(Push): 将本地提交上传到 GitHub 远程仓库的操作。
- 拉取(Pull): 将远程仓库的更改下载到本地仓库的操作。
- 合并(Merge): 将一个分支的更改合并到另一个分支。
- 拉取请求(Pull Request): 请求将你的分支更改合并到另一个分支,通常用于代码审查和协作。
详细步骤
-
安装 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:
- 使用 Homebrew 安装(推荐):
brew install git - 或者通过 Git 官网下载安装程序:git-scm.com/download/ma…
- 使用 Homebrew 安装(推荐):
- Windows:
-
配置 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
- Windows:
- 在 GitHub 网站上,进入 Settings -> SSH and GPG keys -> New SSH key。
- 粘贴公钥内容,并添加一个标题。
- 复制公钥内容:
- 测试 SSH 连接:
如果看到 "You've successfully authenticated" 的消息,则表示配置成功。ssh -T git@github.com
- 生成 SSH 密钥:
-
在 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 扩展提供了强大的历史记录查看功能,可以查看每个提交的详细信息、比较不同版本等。
- 安装 GitLens 扩展(强烈推荐):
-
通过命令行工具使用 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
- 初始化仓库:
-
协同开发
- fork 对方的仓库
- 提交pull request
-
进阶技巧
.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与他人进行协同开发