git教程及git常用命令指南
一、Git 基础概念
1、版本控制系统 (VCS)
Git 是一款分布式版本控制系统,它能够精准追踪文件的变更情况,极大地便利了团队协同开发。借助 Git,开发者不仅可以随时回溯至任意历史版本,有效应对开发过程中的各种问题,还能确保项目代码的稳定性与可维护性。
2、核心概念
仓库 (Repository): 存储项目所有历史和元数据的目录。
提交 (Commit): 一次版本快照,包含文件变化的元数据(作者、时间、描述)。
工作区 (Working Directory): 本地修改文件的目录。
暂存区 (Staging Area): 准备提交的文件列表。
分支 (Branch): 独立开发线,默认分支为 master 或 main。
远程仓库 (Remote): 托管在网络上的仓库(如 GitHub、GitLab)。
二、Git 安装与配置
安装 Git
Windows: 下载 Git for Windows
macOS: brew install git
Linux: sudo apt-get install git
配置用户信息
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
查看配置
git config --list
三、常用 Git 命令
1. 初始化仓库
git init # 初始化本地仓库 git clone <远程仓库URL> # 克隆远程仓库到本地
2. 添加与提交
git add <文件名> # 添加文件到暂存区 git add . # 添加所有修改到暂存区 git commit -m "提交描述" # 提交暂存区的内容 git status # 查看工作区和暂存区状态 git diff # 查看未暂存的修改差异
3. 查看历史
git log # 查看提交历史 git log --oneline # 简洁版历史 git log --graph # 图形化分支历史 git show # 查看某次提交的详细信息
4. 撤销操作
git restore <文件名> # 撤销工作区修改(未暂存) git restore --staged <文件名> # 撤销暂存区修改 git commit --amend # 修改最近一次提交的描述 git reset # 回退到指定提交(保留工作区) git reset --hard # 强制回退(丢弃工作区)
5. 分支管理
git branch # 查看本地分支 git branch <分支名> # 创建新分支 git checkout <分支名> # 切换分支 git checkout -b <分支名> # 创建并切换到新分支 git merge <分支名> # 合并指定分支到当前分支 git branch -d <分支名> # 删除分支 git branch -D <分支名> # 强制删除未合并的分支
6. 远程仓库操作
git remote -v # 查看远程仓库信息 git remote add origin # 添加远程仓库(命名为 origin) git push origin <分支名> # 推送本地分支到远程 git pull origin <分支名> # 拉取远程分支并合并 git fetch origin # 下载远程更新但不合并
7. 标签管理
git tag # 查看标签 git tag v1.0.0 # 创建轻量标签 git tag -a v1.0.0 -m "版本描述" # 创建附注标签 git push origin --tags # 推送所有标签到远程
四、分支与合并实战
1. 合并冲突解决
当两个分支修改了同一文件的同一部分时,Git 会提示冲突:
手动编辑文件,解决冲突(保留需要的代码)。
使用 git add <文件名> 标记冲突已解决。
完成合并:git commit.
2. 变基 (Rebase)
将分支的提交历史“整理”成直线:
git checkout feature-branch git rebase main # 将 feature-branch 的提交移到 main 分支之后 git checkout main git merge feature-branch
五、高级操作
1. 储藏修改 (Stash)
临时保存未提交的修改:
git stash # 储藏当前修改 git stash list # 查看储藏列表 git stash apply # 恢复最近一次储藏 git stash drop # 删除最近一次储藏
2. 子模块 (Submodule)
引用其他仓库作为子目录:
git submodule add <仓库URL> <路径> git submodule update --init --recursive
3. 二分查找 (Bisect)
定位引入问题的提交:
git bisect start git bisect bad # 标记当前提交有问题 git bisect good # 标记某个提交无问题 # Git 会自动切换到中间提交,测试后标记 good/bad git bisect reset # 退出二分查找模式
六、常见问题
误删文件如何恢复?
git checkout HEAD -- <文件名>
提交到了错误分支?
git reset HEAD~1 --soft # 撤销提交但保留修改 git stash # 储藏修改 git checkout correct-branch git stash pop git commit -m "新提交"
七、学习资源
官方文档: https://git-scm.com/doc
图形化工具: GitKraken, Sourcetree
在线练习: Learn Git Branching
通过以上内容,你可以掌握 Git 的核心功能和常用命令。实际开发中,建议结合图形化工具(如 VS Code 的 Git 插件)提高效率。遇到问题时,善用 git help <命令> 查看详细帮助文档。
评论列表