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

1万+

被折叠的 条评论
为什么被折叠?



