一、Git 的优点
分布式版本控制
- 每个开发者都拥有完整的仓库副本,无需依赖中央服务器(如 SVN)。
- 支持离线操作(提交、查看历史、创建分支等)。
高效的分支管理
- 创建和切换分支速度快(几乎是瞬间完成)。
- 适合多人协作开发,支持多种工作流(如 Git Flow、GitHub Flow)。
强大的撤销和恢复能力
- 可以回退到任意历史版本,避免代码丢失。
- 提供
git reset
、git revert
、git stash
等撤销工具。
数据完整性
- 所有文件通过 SHA-1 哈希算法校验,确保内容不被篡改。
适合多人协作
- 通过
pull request
、merge
、rebase
实现代码审查和集成。
- 通过
二、Git 详细用法与代码示例
1. 安装与配置
安装 Git
下载地址:https://git-scm.com/配置用户信息
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
查看配置
git config --list
2. 基础命令
(1) 初始化仓库
mkdir my-project
cd my-project
git init # 初始化 Git 仓库
(2) 添加文件到暂存区
git add file.txt # 添加单个文件
git add . # 添加所有修改的文件
git add *.js # 添加所有 .js 文件
(3) 提交到本地仓库
git commit -m "Initial commit: add project structure"
(4) 查看状态与历史
git status # 查看工作区状态
git log # 查看提交历史
git log --oneline # 简洁模式查看历史
git diff # 查看未暂存的修改
3. 分支管理
(1) 创建与切换分支
git branch feature-login # 创建分支
git checkout feature-login # 切换分支
git checkout -b feature-login # 创建并切换(推荐)
(2) 合并分支
git checkout main # 切换到主分支
git merge feature-login # 合并 feature-login 到 main
(3) 解决冲突
如果合并时发生冲突,手动修改冲突文件后:
git add resolved-file.txt
git commit -m "Resolve merge conflict"
(4) 删除分支
git branch -d feature-login # 删除本地分支
git push origin --delete feature-login # 删除远程分支
4. 远程仓库(GitHub/GitLab)
(1) 添加远程仓库
git remote add origin https://github.com/yourname/repo.git
(2) 推送代码到远程
git push -u origin main # 首次推送
git push # 后续推送
(3) 拉取代码
git pull origin main # 拉取并合并远程代码
git fetch origin # 仅拉取不合并
(4) 克隆仓库
git clone https://github.com/yourname/repo.git
5. 高级操作
(1) 撤销修改
git checkout -- file.txt # 丢弃工作区的修改
git reset HEAD file.txt # 从暂存区移除文件
git reset --hard HEAD^ # 回退到上一个提交(慎用!会丢失修改)
(2) 暂存未完成的工作
git stash # 保存当前修改到暂存区
git stash pop # 恢复最近一次暂存的修改
(3) 重写提交历史
git commit --amend -m "New message" # 修改最后一次提交
git rebase -i HEAD~3 # 交互式修改最近3次提交
三、代码示例:完整工作流
假设你要开发一个登录功能:
# 1. 克隆远程仓库
git clone https://github.com/yourname/project.git
cd project
# 2. 创建并切换到新分支
git checkout -b feature-login
# 3. 修改代码后提交
echo "function login() { ... }" >> login.js
git add login.js
git commit -m "Add login function"
# 4. 推送分支到远程
git push -u origin feature-login
# 5. 在 GitHub 创建 Pull Request (PR) 合并到 main
# (PR 通过后合并)
# 6. 切换回主分支并同步代码
git checkout main
git pull origin main
四、最佳实践
频繁提交
每个小功能或修复单独提交,提交信息清晰(如 “Fix: resolve login timeout issue”)。合理使用分支
main
/master
:稳定版本develop
:开发分支feature/*
:功能分支hotfix/*
:紧急修复分支
定期拉取远程代码
避免长时间不同步导致冲突。使用
.gitignore
忽略临时文件(如node_modules/
,.log
)。代码审查
通过 Pull Request 进行代码审查后再合并。
通过以上内容,你可以逐步掌握 Git 的核心用法。建议多实践操作,遇到问题时善用 git status
和 git log
查看状态和历史。