02 安装和初始化配置
1. Git 的安装与初始化配置¶
安装 Git¶
- Windows:
- 访问 Git 官方网站 下载最新安装包。
- 运行安装程序,选择默认选项或根据需要调整(如安装路径、默认编辑器)。
-
安装完成后,打开
Git Bash或命令提示符,输入git --version检查版本,确认安装成功。 -
MacOS:
- 通过 Homebrew 安装:运行
brew install git。 - 或从 Git 官方网站 下载安装包。
-
安装后,在终端输入
git --version验证。 -
Linux:
- 使用包管理器安装:
- Ubuntu/Debian:
sudo apt update && sudo apt install git - CentOS/RHEL:
sudo yum install git或sudo dnf install git
- Ubuntu/Debian:
- 验证:
git --version
初始化配置¶
配置用户身份¶
- 安装 Git 后,需配置用户身份和基本设置,以便记录提交信息:
其他推荐配置:¶
-
设置默认编辑器:
- 默认编辑器是 Vim,若不熟悉,可改为其他编辑器(如 VS Code):
-
其他选项:
- Notepad++:
git config --global core.editor "notepad++ -multiInst -nosession" - Nano:
git config --global core.editor "nano"
- Notepad++:
-
设置默认分支名:
- Git 默认分支名为
master,建议改为main(与现代标准一致):
- Git 默认分支名为
-
启用颜色输出:
- 使命令行输出更易读:
-
配置换行符(跨平台开发):
- 确保换行符一致性:
- Windows:
git config --global core.autocrlf true - MacOS/Linux:
git config --global core.autocrlf input
- Windows:
- 确保换行符一致性:
查看配置¶
-
检查所有配置:
-
输出示例:
初始化仓库¶
- 新建本地仓库:
- 进入项目目录,运行:
-
这会在目录下创建
.git子目录,存储版本历史。 -
克隆远程仓库:
- 若已有远程仓库(如 GitHub),克隆到本地:
- 克隆后,自动初始化本地仓库并包含远程仓库配置。
配置 SSH(可选,推荐)¶
若使用 SSH 协议与远程仓库(如 GitHub、GitLab)交互,需配置 SSH 密钥:
- 生成 SSH 密钥:
- 若系统不支持
ed25519,使用rsa:
~/.ssh/id_ed25519 或 ~/.ssh/id_rsa),可设置密码或留空。
- 添加公钥到远程仓库:
- 查看公钥:
-
复制公钥内容,登录 GitHub/GitLab,在设置中添加 SSH 密钥。
-
测试 SSH 连接:
-
成功输出示例:
Hi 用户名! You've successfully authenticated... -
配置远程仓库为 SSH:
- 克隆或修改远程地址:
2. Git 的使用方式¶
命令行¶
命令行是 Git 的核心使用方式,灵活且功能强大,适合需要精细控制的场景。通过 Git Bash(Windows)、终端(MacOS/Linux)操作。
常用命令¶
# 初始化仓库
git init
# 添加文件到暂存区
git add <文件名> # 如 git add README.md
git add . # 添加所有更改
# 提交更改到本地仓库
git commit -m "提交信息"
# 查看仓库状态
git status
# 查看提交历史
git log
# 创建/切换分支
git branch <分支名> # 创建分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换分支
# 推送至远程仓库
git push origin <分支名>
# 拉取远程仓库更新
git pull origin <分支名>
# 合并分支
git merge <分支名>
优点¶
- 高效灵活:支持所有 Git 功能,适合复杂工作流。
- 跨平台:命令一致,适用于任何操作系统。
- 脚本化:便于自动化和批量操作。
缺点¶
- 学习曲线:初学者可能觉得命令繁多,易混淆。
- 手动操作多:需要记忆命令和参数。
适用场景¶
- 熟悉 Git 或需要高级功能(如 rebase、cherry-pick)的开发者。
- 自动化脚本或 CI/CD 集成。
- 跨平台开发环境。
图形化界面¶
图形化界面(GUI)通过可视化工具简化 Git 操作,适合初学者或不熟悉命令行的用户。
常用工具¶
- GitHub Desktop:
- 由 GitHub 开发,支持 Windows 和 MacOS。
- 功能:克隆仓库、提交更改、分支管理、推送/拉取。
-
特点:界面简洁,集成 GitHub 工作流(Pull Request)。
-
SourceTree:
- 支持 Windows 和 MacOS,功能强大。
- 功能:可视化提交历史、分支管理、冲突解决。
-
特点:适合复杂项目,支持 Git 和 Mercurial。
-
GitKraken:
- 跨平台,支持 Windows、MacOS、Linux。
- 功能:直观的提交树、拖拽式分支合并、团队协作功能。
- 特点:美观界面,适合个人和团队使用。
使用示例(以 GitHub Desktop 为例)¶
- 安装并登录 GitHub 账号。
- 克隆仓库:选择“File > Clone Repository”,输入仓库 URL。
- 修改文件后,界面显示变更列表,输入提交信息后点击“Commit”。
- 点击“Push”推送至远程仓库,或“Fetch/Pull”获取更新。
优点¶
- 易用:直观界面,降低学习成本。
- 可视化:分支、提交历史一目了然。
- 错误少:减少命令输入错误。
缺点¶
- 功能受限:某些高级功能(如 rebase、stash)可能不支持或操作复杂。
- 依赖工具:不同工具界面和功能差异可能导致学习成本。
适用场景¶
- 初学者或不熟悉命令行的开发者。
- 小型项目或简单工作流。
- 需要可视化分支历史的团队。
IDE 插件/扩展¶
许多集成开发环境(IDE)提供 Git 插件,将版本控制功能嵌入开发流程,适合在编码时直接管理代码。
常用 IDE 插件¶
- Visual Studio Code:
- 内置 Git 支持,扩展如 “GitLens” 增强功能。
- 功能:提交、分支管理、查看差异、冲突解决。
-
操作:通过侧边栏 Git 图标管理提交、查看历史。
-
IntelliJ IDEA(JetBrains 系列):
- 内置 Git 插件,支持复杂工作流。
- 功能:可视化提交、分支管理、Pull Request 集成。
-
操作:通过顶部菜单或右键快速提交、推送。
-
Eclipse:
- 插件如 EGit,提供 Git 集成。
- 功能:提交、合并、历史查看。
- 操作:通过 Team 菜单管理 Git 操作。
使用示例(以 VS Code 为例)¶
- 安装 VS Code 并确保 Git 已安装。
- 打开项目文件夹,点击左侧 Git 图标查看变更。
- 选择文件,点击“+”暂存,输入提交信息后点击“✔”提交。
- 使用“…”菜单推送(Push)或拉取(Pull)。
优点¶
- 无缝集成:在编码环境直接操作,减少工具切换。
- 高效:结合代码编辑和版本控制,提升效率。
- 功能丰富:如 GitLens 提供代码行历史、作者信息等。
缺点¶
- 依赖 IDE:不同 IDE 插件功能和界面差异较大。
- 高级功能有限:某些复杂操作仍需命令行辅助。
- 性能影响:大型项目可能因插件导致 IDE 变慢。
适用场景¶
- 开发者希望在编码时直接管理版本控制。
- 中小型项目,结合 IDE 的日常开发。
- 需要代码历史追溯(如 GitLens 的 blame 功能)。
3. 对比总结¶
| 使用方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 命令行 | 功能全面,灵活,跨平台 | 学习曲线高,易出错 | 高级用户、复杂工作流、自动化 |
| 图形化界面 | 直观易用,可视化强 | 功能受限,工具依赖 | 初学者、小型项目、可视化需求 |
| IDE 插件 | 集成开发环境,高效 | 功能有限,依赖 IDE | 日常编码、中小型项目 |