git仓库的学习
Git 仓库完全指南:从入门到高效使用
1. 为什么要学习 Git?
Git 是目前最流行的分布式版本控制系统(DVCS),广泛应用于个人开发、团队协作及开源项目。它能帮助你:
✅ 版本管理:记录代码的每一次变更,随时回退到历史版本。
✅ 团队协作:多人并行开发,高效合并代码。
✅ 代码备份:远程仓库(如 GitHub、GitLab)确保代码不丢失。
✅ 分支管理:轻松创建、切换、合并分支,适应不同开发需求。
2. Git 核心概念
(1) 仓库(Repository)
- 本地仓库:存储在你电脑上的代码版本库(
.git目录)。 - 远程仓库:托管在服务器(如 GitHub、GitLab)上的代码库。
(2) 工作区、暂存区、版本库
- 工作区(Working Directory):你正在编辑的代码文件。
- 暂存区(Staging Area):
git add后,文件进入暂存区,准备提交。 - 版本库(Repository):
git commit后,代码正式存入版本历史。
(3) 分支(Branch)
- 主分支(main/master):稳定版本,生产环境代码。
- 开发分支(develop):日常开发的主分支。
- 功能分支(feature/xxx):开发新功能时创建的分支。
- 修复分支(hotfix/xxx):紧急修复 Bug 的分支。
3. Git 基本操作
(1) 初始化仓库
git init # 初始化本地仓库
git clone <远程仓库地址> # 克隆远程仓库到本地
(2) 查看状态 & 提交代码
git status # 查看当前文件状态
git add <文件名> # 添加文件到暂存区
git add . # 添加所有更改到暂存区
git commit -m "提交信息" # 提交到版本库
git log # 查看提交历史
(3) 远程仓库操作
git remote add origin <远程仓库地址> # 关联远程仓库
git push -u origin main # 首次推送(-u 设置默认远程分支)
git push # 后续推送
git pull # 拉取远程更新
git fetch # 仅获取远程变更,不自动合并
(4) 分支管理
git branch # 查看所有分支
git branch <分支名> # 创建新分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换分支
git merge <分支名> # 合并分支到当前分支
git branch -d <分支名> # 删除分支
(5) 撤销更改
git restore <文件名> # 撤销工作区修改(未 add)
git restore --staged <文件名> # 撤销暂存区修改(已 add,未 commit)
git reset --hard HEAD^ # 回退到上一个 commit(慎用!会丢失更改)
git revert <commit-id> # 撤销某个 commit(安全方式)
4. Git 高级技巧
(1) 修改最近一次 commit
git commit --amend -m "新的提交信息" # 修改 commit 信息
git add . && git commit --amend # 添加漏掉的文件到上次 commit
(2) 暂存当前修改(stash)
git stash # 暂存当前未提交的更改
git stash list # 查看暂存列表
git stash apply # 恢复最近一次暂存
git stash drop # 删除最近一次暂存
git stash pop # 恢复并删除暂存
(3) 查看代码差异
git diff # 查看工作区与暂存区的差异
git diff --cached # 查看暂存区与最新 commit 的差异
git diff HEAD # 查看工作区与最新 commit 的差异
git diff <分支1> <分支2> # 比较两个分支的差异
(4) 标签(Tag)管理
git tag -a v1.0 -m "版本1.0" # 创建带注释的标签
git tag # 查看所有标签
git push origin v1.0 # 推送标签到远程
git checkout v1.0 # 切换到某个标签版本
5. Git 常见问题 & 解决方案
Q1: git push 失败,提示 "non-fast-forward"
原因:远程仓库有更新,本地未同步。
解决:
git pull --rebase # 拉取远程更新并变基
git push # 再次推送
Q2: 代码冲突(Conflict)怎么办?
- 运行
git pull时提示冲突。 - 手动编辑冲突文件(搜索
<<<<<<<标记)。 - 解决冲突后:
git add <冲突文件> git commit -m "解决冲突" git push
Q3: 误删分支或 commit,如何恢复?
git reflog # 查看所有操作记录
git checkout <commit-id> # 切换到某个 commit
git branch <新分支名> <commit-id> # 从某个 commit 创建分支
6. 总结 & 最佳实践
✔ 频繁提交:小步提交,避免一次性提交大量代码。
✔ 写好 commit 信息:清晰描述修改内容,如 feat: 新增登录功能。
✔ 合理使用分支:开发新功能时创建独立分支,避免污染主分支。
✔ 定期同步远程仓库:git pull 避免冲突。
✔ 学习 Git 图形化工具(如 VS Code Git 插件、GitKraken)提升效率。
浙公网安备 33010602011771号