git操作命令

Git 是目前最流行的分布式版本控制系统,掌握其常用操作命令是开发者的基本功。以下按使用场景分类整理,建议收藏备用:


一、仓库初始化与克隆

bash

复制

复制代码
# 初始化本地仓库
git init

# 克隆远程仓库
git clone https://github.com/user/repo.git
# 克隆并指定本地目录名
git clone https://github.com/user/repo.git myproject

二、基础工作流(每天必用)

bash

复制

复制代码
# 查看工作区状态(高频)
git status

# 添加文件到暂存区
git add filename              # 指定文件
git add .                     # 当前目录所有变更
git add -A                    # 整个仓库所有变更(包括删除)

# 提交变更
git commit -m "feat: 新增用户登录模块"
git commit -am "fix: 修复并直接提交已跟踪文件"  # 跳过add,仅对已跟踪文件有效

# 查看提交历史
git log --oneline --graph --decorate  # 简洁图形化
git reflog                            # 查看所有分支操作记录(救命命令)

三、分支操作(协作核心)

bash

复制

复制代码
# 查看分支
git branch              # 本地分支
git branch -r           # 远程分支
git branch -a           # 所有分支

# 创建并切换分支
git checkout -b feature/user-auth
# 等价于
git branch feature/user-auth
git checkout feature/user-auth

# 切换分支
git checkout main

# 合并分支
git merge feature/user-auth      # 合并到当前分支
git merge --no-ff feature/user-auth  # 保留分支历史

# 删除分支
git branch -d feature/user-auth  # 安全删除(已合并)
git branch -D feature/user-auth  # 强制删除(未合并)

# 重命名分支
git branch -m old-name new-name

四、远程同步(协作必备)

bash

复制

复制代码
# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add origin https://github.com/user/repo.git

# 推送
git push -u origin main      # 首次推送需加 -u 建立关联
git push                     # 后续直接push
git push origin feature/user-auth  # 推送指定分支

# 拉取
git pull                     # 拉取并自动合并(相当于 fetch + merge)
git fetch origin             # 仅拉取不合并(安全)
git fetch --prune            # 同步远程已删除的分支

# 追踪远程分支
git checkout -b local-branch origin/remote-branch

五、撤销与回退(救命命令)

bash

复制

复制代码
# 工作区撤销(未add)
git checkout -- filename     # 丢弃工作区修改
git checkout -- .            # 丢弃所有修改

# 暂存区撤销(已add未commit)
git reset HEAD filename      # 撤销add
git reset HEAD               # 撤销所有add

# 回退版本(已commit)
git reset --soft HEAD~1      # 回退到上一个版本,保留工作区和暂存区
git reset --mixed HEAD~1     # 默认,回退并清空暂存区
git reset --hard HEAD~1      # 彻底回退(危险,会丢失修改)

# 回退到指定版本
git reset --hard commit-id   # 通过git log查看id(前7位即可)

# 远程回退(已push)
git revert commit-id         # 生成新提交抵消旧提交(安全)

六、标签管理(版本发布)

bash

复制

复制代码
# 创建标签
git tag v1.0.0               # 当前提交打标签
git tag v1.0.0 commit-id     # 指定提交打标签
git tag -a v1.0.0 -m "发布1.0.0正式版"  # 带说明的标签

# 查看标签
git tag                      # 列表
git show v1.0.0              # 查看标签信息

# 推送标签
git push origin v1.0.0       # 推送单个标签
git push origin --tags       # 推送所有标签

# 删除标签
git tag -d v1.0.0            # 删除本地
git push origin :refs/tags/v1.0.0  # 删除远程

七、高级技巧(效率提升)

bash

复制

复制代码
# 暂存当前工作
git stash                    # 保存当前工作区
git stash list               # 查看stash列表
git stash apply              # 恢复最近stash(不删除)
git stash pop                # 恢复并删除最近stash
git stash drop stash@{0}     # 删除指定stash

# 交互式添加(分块提交)
git add -p                   # 按块选择要添加的内容

# 查看某行代码最后修改者
git blame filename           # 逐行显示作者和提交

# 查找提交
git log --grep="关键词"      # 按提交信息搜索
git log -S "代码内容"         # 按代码变动搜索

# 清理无效文件
git clean -fd                # 删除未跟踪的文件和目录(危险)

八、常见报错速查

表格

复制

报错信息 快速解决
refusing to merge unrelated histories git pull origin main --allow-unrelated-histories
error: failed to push some refs git pull 解决冲突再push
Your branch is behind 'origin/main' by X commits git pullgit fetch + git merge
fatal: not a git repository 当前目录未初始化,先 git initgit clone

九、配置与别名(个性化)

bash

复制

复制代码
# 全局配置
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global core.editor "code --wait"  # 设置VS Code为编辑器

# 常用别名(效率翻倍)
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.visual '!gitk'

# 使用后:
git st   # 等价于 git status
git co main # 等价于 git checkout main

十、一张图总结(建议保存)

复制

复制代码
工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库
   ↑                                              ↓
git checkout --                            git pull / git fetch

最后提醒:

  1. 任何撤销操作前先用 git status 确认状态

  2. 重要操作前创建临时分支备份:git branch backup

  3. 团队协作前先 git pullgit push

  4. ** commit 信息遵循规范(如Angular规范):type: subject**

需要针对某个场景(如回退已push的敏感数据、子模块管理、rebase操作)的详细指南,可以告诉我具体需求!

相关推荐
珠海西格2 分钟前
4 月 1 日起执行分布式光伏监控新规,直接影响从业者与项目收益
大数据·运维·服务器·分布式·能源
如意.7599 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
金融小师妹11 小时前
基于多模态宏观建模与历史序列对齐:原油能源供给冲击的“类1970年代”演化路径与全球应对机制再评估
大数据·人工智能·能源
播播资源11 小时前
OpenAI2026 年 3 月 18 日最新 gpt-5.4-nano模型:AI 智能体的“神经末梢”,以极低成本驱动高频任务
大数据·人工智能·gpt
GJGCY13 小时前
中小企业财务AI工具技术评测:四大类别架构差异与选型维度
大数据·人工智能·ai·架构·财务·智能体
九河云13 小时前
云上安全运营中心(SOC)建设:从被动防御到主动狩猎
大数据·人工智能·安全·架构·数字化转型
武子康13 小时前
大数据-252 离线数仓 - Airflow + Crontab 入门实战:定时调度、DAG 编排与常见报错排查
大数据·后端·apache hive
jinanwuhuaguo13 小时前
OpenClaw、飞书、Claude Code、Codex:四维AI生态体系的深度解构与颗粒化对比分析
大数据·人工智能·学习·飞书·openclaw
Rubin智造社13 小时前
# OpenClaude命令实战|核心控制三剑客/reasoning+/verbose+/status 实操指南
大数据·人工智能
用户91868612868714 小时前
Git 版本控制完全指南:从入门到精通
git