简介:本文详细介绍Git的核心概念、基础操作及进阶技巧,涵盖版本控制原理、分支管理、冲突解决等关键场景,帮助开发者高效使用Git进行协作开发。
Git作为分布式版本控制系统,通过”快照存储”机制实现文件修改的增量记录。与传统集中式VCS(如SVN)相比,Git的本地仓库特性使开发者无需联网即可提交变更,极大提升了离线开发效率。例如,在飞机上修改代码时,Git仍可完整记录修改历史。
brew install git安装后,需配置用户信息:
git config --global user.name "Your Name"git config --global user.email "your.email@example.com"
core.editor为常用编辑器(如VSCode):
git config --global core.editor "code --wait"
mkdir my-project && cd my-projectgit init # 创建.git隐藏目录
touch README.mdgit add README.md # 单文件添加git add . # 添加所有变更
git commit -m "Initial commit with README"
develop、feature/、release/等分支main和临时特性分支
# 创建并切换分支git checkout -b feature/login# 切换回主分支git checkout main# 合并分支(快进合并)git merge feature/login# 变基操作(保持线性历史)git rebase main # 在feature分支执行
当自动合并失败时,Git会标记冲突文件。解决步骤:
<<<<<<< HEAD标记git add标记已解决文件
git commit # Git会自动生成合并提交
# 添加远程仓库git remote add origin https://github.com/user/repo.git# 查看远程信息git remote -v# 推送分支到远程git push -u origin main # -u设置上游跟踪
git fetch origin # 获取远程更新但不合并git pull origin main # 获取并合并(等价于fetch+merge)
类型: 描述格式(如feat: 添加登录功能)
git rebase -i HEAD~3 # 修改最近3个提交# 在编辑器中选择:# pick → 保留# squash → 合并# reword → 修改信息# edit → 暂停变基进行修改
git stash # 储藏未提交修改git stash pop # 恢复并删除储藏git stash list # 查看储藏列表
# 添加子模块git submodule add https://github.com/user/lib.git external/lib# 更新子模块git submodule update --init --recursive
| 场景 | 命令 |
|---|---|
| 撤销工作区修改 | git checkout -- <file> |
| 撤销暂存区文件 | git reset HEAD <file> |
| 修改最近提交 | git commit --amend |
| 回退到历史版本 | git reset --hard <commit> |
# 查找删除分支的commitgit reflog# 重新创建分支git checkout -b restored-branch <commit-hash>
对于大型仓库,可使用浅克隆:
git clone --depth 1 https://github.com/user/repo.git # 只克隆最新提交
main分支保护,要求PR审查和CI通过pre-commit钩子自动运行ESLint检查通过系统掌握这些核心概念和操作技巧,开发者能够显著提升代码管理效率,减少协作冲突。建议从基础操作开始实践,逐步尝试高级功能,最终形成适合自身团队的Git工作流。