当前位置: 首页 > news >正文

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 Flow 或 GitHub Flow 规范。

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

http://www.lryc.cn/news/611672.html

相关文章:

  • Go语言 单元测试
  • 鸿蒙app 开发中 全局弹窗类的封装 基于PromptAction
  • LazyLLM教程 | 第3讲:大模型怎么玩:用LazyLLM带你理解调用逻辑与Prompt魔法!
  • AI_提示词Prompt
  • MCP-PromptX AI小说创作使用教程
  • 百度智能云给“数字人”发工牌
  • 纯血鸿蒙(HarmonyOS NEXT)应用开发完全指南
  • HarmonyOS 5 入门系列-鸿蒙HarmonyOS示例项目讲解
  • day20|学习前端
  • 合同全生命周期管理系统是什么?
  • 基于php的个人健康管理系统设计与实现/vue/php开发
  • 数据结构(四)内核链表、栈与队列
  • JAVA无人系统台球茶室棋牌室系统支持H5小程序APP公众号源码
  • Python Pandas.lreshape函数解析与实战教程
  • 基于Simulink/MWORKS的文字与开关量混合传输系统设计
  • Godot ------ 初级人物血条制作02
  • 符合网络安全的汽车OTA软件更新分发机制
  • DHCP 服务器练习
  • Nacos配置中心和数据隔离在idea中的实现
  • R4周打卡——Pytorch实现 LSTM火灾预测
  • Ansys Discovery 2025R2的主要增强功能:CFD仿真的亮点
  • 批量打印Excel条形码
  • 西门子PLC基础指令6:读取时钟指令、设置时钟指令、使能含义与注意
  • 《动手学深度学习》读书笔记—9.5机器翻译与数据集
  • miniExcel一个对象加一个对象列表导出
  • 前端全栈修炼手册:从 Vue3 到工程化的进阶之路
  • 线上Linux服务器的优化设置、系统安全与网络安全策略
  • 移动商城平台适配:ZKmall开源商城鸿蒙 / 小程序端开发要点
  • django permission_classes = [AllowAny] 如何限制到具体接口
  • 时间轮算法