Git
Git 是目前最流行的分布式版本控制系统,由 Linus Torvalds 于 2005 年为管理 Linux 内核开发而创建。与集中式版本控制系统不同,Git 的每个开发者本地都拥有完整的仓库副本,支持离线工作,通过分支模型实现高效的并行开发。如今 Git 已成为开源社区和企业开发的标准基础设施,GitHub、GitLab、Bitbucket 等平台都基于 Git 构建。
适用场景:代码版本管理、团队协作开发、代码回滚与恢复、多分支并行开发、开源项目贡献。
提示
Git 版本控制知识索引
核心概念
Git 的工作模型围绕三个区域展开:工作区(开发者直接编辑文件的地方)、暂存区(通过 git add 将修改临时保存)、本地仓库(通过 git commit 生成永久快照)。理解这三个区域的数据流向是掌握 Git 的基础,因为几乎所有操作(撤销、回滚、分支切换)都与这三个区域的状态转换有关。
版本控制 详细整理了 Git 的核心命令体系,包括常用命令速查、标签管理、撤销与回滚策略、分支管理等。
分支管理
分支管理是 Git 的核心能力之一。通过 git branch 创建分支、git checkout 切换分支、git merge 合并分支,团队成员可以在互不干扰的情况下并行开发不同功能。
# 创建分支
git branch feature-branch
# 切换分支
git checkout feature-branch
# 创建并切换分支
git checkout -b feature-branch
# 合并分支
git merge feature-branch
# 删除分支
git branch -d feature-branch临时存储
git stash 可以临时保存未完成的工作:
# 保存当前工作
git stash
# 恢复工作
git stash pop
# 查看保存列表
git stash list提交复制
git cherry-pick 允许精确地将某个提交从一个分支复制到另一个分支:
git cherry-pick 提交ID标签管理
标签管理通过 git tag 为特定版本打上标记,便于发布和回溯:
# 创建标签
git tag v1.0.0
# 创建带注释的标签
git tag -a v1.0.0 -m "版本 1.0.0"
# 查看标签
git tag
# 推送标签到远程
git push origin v1.0.0常见问题处理
误删文件恢复
# 恢复工作区文件
git checkout -- 文件名
# 恢复暂存区文件
git reset HEAD 文件名合并冲突解决
- 打开冲突文件,查看冲突标记
- 手动修改冲突内容
- 添加到暂存区:
git add 文件名 - 提交合并:
git commit -m "解决冲突"
撤销已推送的提交
# 创建新提交来撤销旧提交
git revert 提交ID
# 强制推送(谨慎使用)
git push --force查看远程仓库信息
# 查看远程仓库
git remote -v
# 添加远程仓库
git remote add origin 仓库地址
# 修改远程仓库
git remote set-url origin 新地址