Git 从入门到实战——开发必备的版本控制技能

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/爬虫 实战干货。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值