Linux 中 Git 操作大全

常用命令、工作流及实用技巧,适用于日常开发场景:

一、基础配置

复制代码
# 设置全局用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 保存凭证(避免重复输入密码)
git config --global credential.helper store

# 查看配置列表
git config --list
复制代码

二、仓库操作

命令 说明
git init 初始化本地仓库
git clone <repo_url> 克隆远程仓库到本地
git remote -v 查看远程仓库地址
git remote add origin <url> 添加远程仓库
git remote remove origin 移除远程仓库

三、提交与修改

命令 说明
git status 查看文件状态
git add <file> 添加文件到暂存区
git add . 添加所有修改到暂存区
git commit -m "message" 提交暂存区内容
git commit --amend 修改最后一次提交(不产生新记录)
git restore <file> 撤销工作区修改(未 add)
git restore --staged <file> 撤销暂存区修改(已 add)

四、分支管理

命令 说明
git branch 查看本地分支
git branch -a 查看所有分支(含远程)
git branch <branch_name> 创建新分支
git checkout <branch> 切换到分支
git checkout -b <new_branch> 创建并切换到新分支
git merge <branch> 合并分支到当前分支
git branch -d <branch> 删除本地分支
git push origin --delete <branch> 删除远程分支
git push -u origin <branch> 推送本地分支到远程并关联

五、同步与推送

命令 说明
git fetch 从远程拉取元数据(不合并)
git pull 拉取远程分支并合并(= git fetch + git merge
git pull --rebase 拉取远程分支并变基(推荐)
git push 推送本地提交到远程
git push --force 强制推送(覆盖远程,慎用!)

六、撤销与回退

命令 说明
git reset --soft HEAD^ 撤销 commit,保留修改到暂存区
git reset --mixed HEAD^ 撤销 commit 和 add(默认)
git reset --hard HEAD^ 彻底撤销 commit 和修改(慎用!)
git revert <commit_id> 创建新提交来撤销指定提交(安全)

七、日志与对比

命令 说明
git log 查看提交历史
git log --oneline --graph 简洁分支可视化日志
git diff 查看工作区与暂存区的差异
git diff --staged 查看暂存区与最新提交的差异
git diff <branch1> <branch2> 比较两个分支差异

八、储藏与标签

命令 说明
git stash 临时储藏工作区修改
git stash pop 恢复最近储藏的修改
git tag v1.0 创建轻量标签
git tag -a v1.0 -m "message" 创建含注释的标签
git push origin --tags 推送所有标签到远程

九、高级技巧

  1. 交互式变基(修改历史)

    复制代码
    git rebase -i HEAD~3  # 合并/修改最近3次提交
  2. 子模块管理

    复制代码
    git submodule add <repo_url> <path>  # 添加子模块
    git submodule update --init --recursive  # 初始化子模块
  3. 忽略文件配置

    创建 .gitignore 文件,每行一个忽略规则(支持通配符):

    plaintext

    复制代码
    *.log
    /build/
    .env

十、常见问题解决

  • 冲突处理

    1. 执行 git pull 后出现冲突

    2. 手动编辑冲突文件(搜索 <<<<<<< 标记)

    3. 解决后执行 git add <file> + git commit

  • 恢复误删分支

    复制代码
    git reflog  # 查找分支最后提交的 commit_id
    git branch <branch> <commit_id>

Git 工作流

复制代码
工作区 (Working Directory)
     ↓ add
暂存区 (Staging Area)
     ↓ commit
本地仓库 (Local Repository)
     ↓ push
远程仓库 (Remote Repository)

提示

  • 使用 git help <command> 查看命令详细帮助。

  • 推荐使用 SSH Key 认证代替账号密码(更安全)。

  • 团队协作遵循 Git FlowGitHub Flow 规范。

掌握以上命令可覆盖 95% 的日常 Git 使用场景!

相关推荐
hughnz12 分钟前
AI和自动化让油田钻工慢慢消失
大数据·人工智能
juniperhan27 分钟前
Flink 系列第8篇:Flink Checkpoint 全解析(原理+流程+配置+优化)
大数据·分布式·flink
GIS数据转换器38 分钟前
延凡低成本低空无人机AI巡检方案
大数据·人工智能·信息可视化·数据挖掘·无人机
七夜zippoe1 小时前
OpenClaw 子代理(Subagent)机制详解
大数据·人工智能·subagent·openclaw·子代理
财经三剑客1 小时前
长安汽车3月销量超27万辆 海外及新能源环比大幅增长
大数据·人工智能·汽车
ClouGence2 小时前
不用搭复杂系统,也能做跨地域数据迁移?
大数据·数据库·saas
xixixi777772 小时前
Token 经济引爆 AI 产业加速:从百模大战到百虾大战,谁在定义 2026 的中国 AI?
大数据·人工智能·机器学习·ai·大模型·算力·通信
Gent_倪2 小时前
数据建模概念解析
大数据·数据建模
永霖光电_UVLED2 小时前
Polar Light 获得了欧盟Eurostars计划的110万欧元(€1.1m)资助
大数据·人工智能·物联网·汽车·娱乐
琪伦的工具库2 小时前
批量excel文件删除列工具使用说明:按列号或列名批量删除/保留,支持预览与大文件优化
大数据·excel