ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Git详细使用教程:从入门到实战

Git详细使用教程:从入门到实战 Git 是目前世界上最流行的分布式版本控制系统。无论是个人开发还是团队协作掌握 Git 都是程序员的必备技能。本文将从安装配置、基础操作到分支管理与团队协作系统地讲解 Git 的详细用法。一、Git 简介与安装Git 由 Linus Torvalds 于 2005 年创建用于 Linux 内核的版本管理。它的核心特点是分布式每个开发者本地都有一份完整的代码仓库历史即使没有网络也能提交、查看历史。安装 GitWindows下载官方安装包或使用winget install --id Git.GitmacOSbrew install gitLinux (Ubuntu/Debian)sudo apt install git安装后验证git--version二、初始配置首次使用 Git 必须配置用户名和邮箱这些信息会记录在每次提交中gitconfig--globaluser.name你的名字gitconfig--globaluser.emailyouexample.com查看配置gitconfig--list常用配置项# 设置默认分支名为 maingitconfig--globalinit.defaultBranch main# 配置公钥对应的编辑器gitconfig--globalcore.editorvim# 配置代理按需gitconfig--globalhttp.proxy http://127.0.0.1:7890三、基础操作3.1 初始化仓库mkdirmyprojectcdmyprojectgitinit这会生成一个隐藏的.git目录里面存放所有版本历史。3.2 工作区、暂存区与版本库Git 有三个核心区域工作区你实际编辑的文件暂存区Index/Stage暂存将要提交的修改版本库Repository已提交的历史记录3.3 添加与提交# 查看状态gitstatus# 添加文件到暂存区gitaddmain.pygitadd.# 添加所有修改# 提交gitcommit-m初始化项目# 添加并提交只对已跟踪文件gitcommit-am修改了逻辑3.4 查看历史与差异gitlog# 查看提交历史gitlog--oneline# 简化显示gitlog--graph# 图形化显示分支gitdiff# 工作区与暂存区差异gitdiff--staged# 暂存区与版本库差异gitshowcommit# 查看某次提交内容四、回滚与撤销# 撤销工作区修改恢复到暂存区状态gitcheckout -- file.txt# 取消暂存保留工作区修改gitreset HEAD file.txt# 回退到上一个版本保留修改gitreset--softHEAD~1# 回退并丢弃修改谨慎使用gitreset--hardHEAD~1# 回退到指定提交gitreset--hardcommit-id# 反提交生成一次新的反向提交适合已推送的分支gitrevertcommit-id五、分支管理分支是 Git 最强大的功能之一它允许你在不影响主分支的情况下并行开发。# 查看分支gitbranchgitbranch-a# 查看所有分支含远程# 创建分支gitbranch feature-login# 切换分支gitcheckout feature-login# 或创建并切换gitcheckout-bfeature-login# 合并分支gitcheckout maingitmerge feature-login# 删除分支gitbranch-dfeature-login# 已合并可安全删除gitbranch-Dfeature-login# 强制删除# 变基整理提交历史gitcheckout featuregitrebase main合并与冲突合并时若同一文件的同一位置被两边修改会产生冲突。冲突标记形如 HEAD 当前分支的内容 被合并分支的内容 feature-login手动解决冲突后gitadd冲突文件gitcommit-m解决合并冲突六、远程仓库与 GitHub6.1 关联远程仓库gitremoteaddorigin gitgithub.com:username/repo.gitgitremote-v# 查看远程gitremote remove origin# 移除远程6.2 推送与拉取# 第一次推送并关联上游gitpush-uorigin main# 之后直接推送gitpush# 拉取远程更新并合并到当前分支gitpull# 只拉取不合并先看再决定gitfetch6.3 克隆仓库gitclone gitgithub.com:username/repo.gitgitclone-bdev gitgithub.com:username/repo.git# 克隆指定分支6.4 SSH 密钥配置免密推送ssh-keygen-trsa-b4096-Cyouexample.com# 复制公钥cat~/.ssh/id_rsa.pub将公钥粘贴到 GitHub → Settings → SSH and GPG keys → New SSH key。七、Tag 与版本发布# 创建轻量标签gittag v1.0.0# 创建附注标签推荐gittag-av1.0.0-m发布1.0版本# 推送标签到远程gitpush origin v1.0.0# 推送所有标签gitpush--tags# 删除标签gittag-dv1.0.0gitpush origin :refs/tags/v1.0.0# 删除远程标签八、Git 常用技巧8.1 .gitignore 忽略文件创建.gitignore文件写入不需要跟踪的内容# 依赖与构建产物 node_modules/ dist/ *.log # 环境变量与密钥 .env *.key8.2 暂存Stash临时保存需要切换分支但不想提交当前修改时gitstash# 保存现场gitstash list# 查看暂存列表gitstash pop# 恢复现场gitstash apply# 恢复但不删除记录8.3 修改最近一次提交gitcommit--amend-m新的提交信息注意--amend会改写历史仅适用于尚未推送的提交。8.4 查看文件被谁修改gitblame file.txt8.5 精简命令别名gitconfig--globalalias.co checkoutgitconfig--globalalias.br branchgitconfig--globalalias.st statusgitconfig--globalalias.lglog --oneline --graph --all配置后即可使用git st、git lg等快捷命令。九、团队协作工作流推荐最常见的GitHub Flow工作流从main拉取最新代码git pull origin main创建功能分支git checkout -b feature/xxx在功能分支上开发并提交推送到远程git push -u origin feature/xxx在 GitHub 上发起 Pull Request (PR)代码评审通过后合并到main删除已合并的功能分支十、常见问题排查问题解决方案提交信息写错git commit --amend文件误删git checkout -- 文件名提交到了错误分支git reset后重新 checkoutpush 被拒绝非快进先git pull --rebase再 push忘记 .gitignore 已跟踪文件git rm --cached 文件名总结Git 的核心思路可以概括为一句话本地提交、远程协作、分支并行。初学者不必一次性掌握所有命令只要熟练掌握add、commit、push、pull、branch、merge这一套基础流程就能应对绝大多数开发场景。遇到问题多用git status和git log查看当前状态配合git help 命令查阅文档很快就能熟练上手。
返回列表