以下是 Git 常用命令大全 及使用详解,包含 冲突解决 和 IDEA 集成 Git 操作指南,按场景分类说明:
一、基础命令
1. 仓库初始化
git init # 初始化本地仓库
git clone <远程仓库URL> # 克隆远程仓库
2. 提交更改
git add . # 添加所有文件到暂存区
git add <文件名> # 添加指定文件
git commit -m "提交说明" # 提交到本地仓库
git commit --amend # 修改最后一次提交(未push时)
3. 查看状态
git status # 查看工作区和暂存区状态
git log # 查看提交历史
git log --oneline --graph # 简洁版提交历史(带分支图)
二、分支管理
1. 分支操作
git branch # 查看本地分支
git branch <分支名> # 创建新分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换分支
git merge <分支名> # 合并指定分支到当前分支
git branch -d <分支名> # 删除分支(已合并)
git branch -D <分支名> # 强制删除分支(未合并)
2. 远程分支
git fetch origin # 拉取远程分支信息(不自动合并)
git pull origin <分支名> # 拉取并合并远程分支(=fetch+merge)
git push origin <分支名> # 推送本地分支到远程
git push -u origin <分支名> # 推送并设置上游分支(首次推送)
三、冲突解决
1. 冲突产生场景
当多人修改同一文件的同一区域时,Git 会标记冲突:
<<<<<<< HEAD
你的代码
=======
别人的代码
>>>>>>> branch-name
2. 解决步骤(命令行)
# 1. 拉取最新代码(触发冲突)
git pull origin main
# 2. 打开冲突文件,手动编辑(删除冲突标记,保留正确代码)
# 3. 标记冲突已解决
git add <冲突文件>
# 4. 完成合并
git commit -m "解决冲突"
3. 在 IDEA 中解决冲突
拉取代码时出现冲突:
IDEA 会自动弹出 Merge Conflicts 窗口
选择 Merge → 手动调整代码(左右窗口对比)
点击 Apply 保存
手动解决:
右键冲突文件 → Git → Resolve Conflicts
使用 三窗格对比工具(本地/远程/合并结果)
标记解决:
解决后右键文件 → Git → Mark as Resolved
四、撤销与回退
git reset --soft HEAD^ # 撤销commit,保留更改到暂存区
git reset --mixed HEAD^ # 撤销commit和add(默认)
git reset --hard HEAD^ # 彻底丢弃本次提交的更改
git revert
git checkout -- <文件名> # 丢弃工作区修改(未add)
五、IDEA 集成 Git 操作
1. 基础操作
提交代码:
顶部菜单 Git → Commit
勾选文件 → 输入提交信息 → Commit
推送/拉取:
Git → Push/Pull
快捷键:Ctrl + Shift + K(Push)
2. 分支管理
切换分支:
右下角 Git Branch → Checkout
合并分支:
Git → Merge Changes → 选择目标分支
3. 查看历史
Git → Show History:
右键提交记录可回退/创建标签
差异对比:
右键文件 → Git → Compare with...
六、高级技巧
1. 暂存更改(临时切换分支)
git stash # 暂存当前修改
git stash pop # 恢复最近暂存的修改
2. 标签管理
git tag v1.0 # 创建轻量标签
git tag -a v1.0 -m "版本说明" # 创建带注释的标签
git push origin v1.0 # 推送标签到远程
3. 子模块
git submodule add <仓库URL> # 添加子模块
git submodule update --init # 初始化子模块
七、常见问题解决方案
1. 提交到错误分支
# 1. 暂存当前更改
git stash
# 2. 切换到正确分支
git checkout correct-branch
# 3. 恢复更改
git stash pop
# 4. 重新提交
git add . && git commit -m "提交说明"
2. IDEA 中 Git 日志乱码
修改 IDEA 配置:
Help → Edit Custom VM Options
添加:-Dfile.encoding=UTF-8
3. 大文件误提交
# 使用 git filter-branch 或 BFG 工具清理历史
git filter-branch --tree-filter 'rm -f 大文件路径' HEAD
八、Git 工作流示例
通过掌握这些命令和 IDEA 集成操作,您可以高效管理代码版本。关键建议:
频繁提交小改动(原子性提交)
使用分支开发新功能
定期 git pull 避免冲突积累
冲突时优先沟通确认代码逻辑