Git 从入门到实战——开发必备的版本控制技能
Git 是每个开发者必须掌握的技能。无论你是独立开发还是团队协作Git 都能帮你管理代码版本、回溯历史、协同工作。本文从零开始带你掌握 Git 的核心操作。一、Git 的核心概念概念说明工作区你写代码的目录暂存区临时存放改动的地方本地仓库存放在本地的版本历史远程仓库存放在服务器的版本GitHub/Gitee工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库二、基础操作1. 配置用户信息gitconfig--globaluser.name张老师技术栈gitconfig--globaluser.emailzhangexample.comgitconfig--global--list# 查看配置2. 初始化仓库# 方式一创建新仓库cdmy-projectgitinit# 方式二克隆远程仓库gitclone https://github.com/username/repo.git3. 日常开发三连# 第一步查看状态gitstatus# 第二步添加到暂存区gitadd文件名# 添加指定文件gitadd.# 添加所有改动# 第三步提交到本地仓库gitcommit-mfeat: 添加用户登录功能三、分支管理分支是 Git 最强大的功能之一让你可以并行开发多个功能。1. 分支操作# 查看分支gitbranch# 本地分支gitbranch-a# 所有分支含远程# 创建和切换gitbranch feature-login# 创建分支gitcheckout feature-login# 切换分支gitcheckout-bfeature-login# 创建并切换一步到位# 合并分支gitcheckout main# 先切回主分支gitmerge feature-login# 合并功能分支# 删除分支gitbranch-dfeature-login# 删除本地分支gitpush origin--deletefeature-login# 删除远程分支2. 常用分支策略main# 主分支稳定版本├── dev# 开发分支日常开发│ ├── feat-login# 功能分支│ ├── feat-pay# 功能分支│ └── fix-bug-101# 修复分支└── release# 发布分支推荐命名规范feat/xxx # 新功能 fix/xxx # 修复bug docs/xxx # 文档 refactor/xxx # 重构四、远程仓库操作1. 关联远程仓库# 添加远程仓库gitremoteaddorigin https://github.com/username/repo.git# 查看远程仓库gitremote-v# 推送到远程gitpush-uorigin main# -u 是 --set-upstream第一次推送用gitpush# 之后直接用# 拉取远程更新gitpull# 拉取并合并推荐gitfetch# 只拉取不合并2. 解决冲突当两个人修改了同一个文件的同一行代码时git 无法自动合并# 拉取代码时提示冲突gitpull# 输出Automatic merge failed; fix conflicts and commit the result.# 打开冲突文件会看到HEAD System.out.println(当前分支的代码);System.out.println(远程分支的代码);main# 手动修改后保存然后提交gitadd.gitcommit-mfix: 解决合并冲突五、时光穿梭——版本回退# 查看提交历史gitlog# 完整历史gitlog--oneline# 一行显示gitlog--graph--oneline# 图形化显示# 回退到指定版本gitreset--hardHEAD^# 回退到上一个版本gitreset--hardHEAD~3# 回退到前3个版本gitreset--hard7a3e4f1# 回退到指定 commit ID# 后悔了找回版本gitreflog# 查看所有操作记录gitreset--hard6b8d2e3# 恢复到指定版本六、实用技巧1. 暂存当前工作# 当你正在开发一半需要切换到其他分支时gitstash# 暂存当前改动gitstash list# 查看暂存列表gitstash pop# 恢复暂存并删除gitstash apply# 恢复暂存但不删除2. 忽略文件.gitignore# 在项目根目录创建 .gitignore 文件# 内容示例target/ *.class *.jar .idea/ *.iml *.log node_modules/ .env application-local.yml3. 修改最后一条 commit# 漏了文件或写错了注释gitaddforgotten-file.javagitcommit--amend-m新的提交信息# 注意只能修改未推送的 commit4. 挑选指定 commit# 只合并某个分支的某一次提交gitcherry-pick 7a3e4f1七、IDEA 中使用 GitIDEA 集成了完整的 Git 操作不需要记命令操作快捷键 / 位置提交Ctrl K推送Ctrl Shift K更新项目Ctrl T查看历史右键文件 → Git → Show History解决冲突Merge 按钮冲突时出现八、企业级 Git 工作流# 1. 从 main 分支创建功能分支gitcheckout-bfeat-user-login main# 2. 开发并提交gitadd.gitcommit-mfeat: 实现用户登录功能# 3. 拉取最新 main 代码解决冲突gitpull origin main# 4. 推送功能分支到远程gitpush origin feat-user-login# 5. 在 GitHub/GitLab 上创建 Pull Request# 等 reviewer 审核通过后合并到 main总结Git 的核心就这几条命令建议收藏# 日常用gitstatus# 看状态gitadd.# 添加gitcommit-m# 提交gitpush# 推送gitpull# 拉取# 分支用gitcheckout-bname# 建分支gitmerge name# 合并# 应急用gitstash# 暂存gitlog# 看历史gitreset# 回退如果对你有帮助欢迎点赞、评论、关注【张老师技术栈】持续分享 Java/Python/爬虫 实战干货。

相关新闻

计算机Python毕设实战-基于 Python 的在线题包整理分析系统的设计与实现 基于 Python 的学科题库综合处理平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Python毕设实战-基于 Python 的在线题包整理分析系统的设计与实现 基于 Python 的学科题库综合处理平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 1:12:47阅读更多 →
YOLOv8尺度动态损失SDloss:解决小目标漏检与多尺度训练震荡

YOLOv8尺度动态损失SDloss:解决小目标漏检与多尺度训练震荡

1. 项目概述:为什么SDloss不是又一个“换汤不换药”的损失函数改进?YOLOv11这个名称目前在主流开源社区(如Ultralytics官方仓库、PyTorch Hub、arXiv预印本平台)并不存在——截至2024年中,Ultralytics官方发布的最新稳…

2026/6/20 1:12:47阅读更多 →
四款新开源图像生成模型硬核实测与选型指南

四款新开源图像生成模型硬核实测与选型指南

1. 这不是又一个“跑分榜单”,而是实测四款新锐图像生成模型的硬核拆解 最近两周,朋友圈和几个技术群被 Z-Image-Turbo、Flux.2 Dev、Ovis-Image 和 LongCat-Image 这四个名字反复刷屏。不是因为某家大厂发布了什么重磅更新,而是这四款模型几…

2026/6/20 1:12:47阅读更多 →
K32L3A时钟与ADC电气特性深度解析:从手册参数到嵌入式系统设计实战

K32L3A时钟与ADC电气特性深度解析:从手册参数到嵌入式系统设计实战

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于ARM Cortex-M内核的微控制器项目中,时钟系统和模拟数字转换器(ADC)的性能往往是决定整个应用成败的关键。很多工程师在项目初期,可能会把注意力集中在功能实现和代码…

2026/6/20 2:22:52阅读更多 →
LLMP-UCB算法:金融决策中的多模态智能优化方案

LLMP-UCB算法:金融决策中的多模态智能优化方案

1. 研究背景与核心问题在金融决策领域,智能系统需要持续处理两类关键信息:结构化数值数据(如股价、交易量)和非结构化文本数据(如财报、新闻)。传统上下文多臂老虎机(CMAB)算法虽擅长…

2026/6/20 2:22:52阅读更多 →
为什么Voron 0重新定义了桌面级3D打印机的性能极限?

为什么Voron 0重新定义了桌面级3D打印机的性能极限?

为什么Voron 0重新定义了桌面级3D打印机的性能极限? 【免费下载链接】Voron-0 Voron 0 CoreXY 3D Printer design 项目地址: https://gitcode.com/gh_mirrors/vo/Voron-0 想象一下,你正在寻找一台能够放在办公桌上的3D打印机,它需要足…

2026/6/20 2:22:52阅读更多 →
高效办公新体验:在VS Code中无缝预览Word与Excel文件

高效办公新体验:在VS Code中无缝预览Word与Excel文件

高效办公新体验:在VS Code中无缝预览Word与Excel文件 【免费下载链接】vscode-office Let VSCode support previewing PDF, Excel, Word and other formats, and add markdown WYSIWYG editor. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-office 在…

2026/6/20 2:22:52阅读更多 →
Kinetis K21F I2S/SAI时序与低功耗模式设计详解

Kinetis K21F I2S/SAI时序与低功耗模式设计详解

1. 项目概述与核心价值在嵌入式音频系统开发中,I2S(Inter-IC Sound)总线是连接微控制器、音频编解码器、数字麦克风等器件的生命线。它定义了音频数据流传输的“交通规则”,而时序则是这套规则的核心。时序不满足,轻则…

2026/6/20 2:22:52阅读更多 →
ROFL-Player:英雄联盟回放播放难题的终极解决方案

ROFL-Player:英雄联盟回放播放难题的终极解决方案

ROFL-Player:英雄联盟回放播放难题的终极解决方案 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟旧版本回放…

2026/6/20 2:17:52阅读更多 →
【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 0:02:40阅读更多 →
MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

1. 项目概述与核心价值在嵌入式开发,尤其是电机驱动、LED调光、开关电源这些需要精确控制“能量”的领域,脉冲宽度调制(PWM)技术是工程师手中的一把瑞士军刀。它的本质很简单:用一个固定频率的方波,通过改变…

2026/6/20 0:02:40阅读更多 →
在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

1. 银河麒麟V10桌面系统与软RAID 1基础认知 第一次在银河麒麟V10桌面上折腾软RAID 1时,我踩了不少坑。这个国产操作系统基于Linux内核,但2205版本对软RAID模块做了特殊处理,需要额外操作才能正常使用。软RAID 1其实就是磁盘镜像技术&#xff…

2026/6/20 0:02:40阅读更多 →