Git常用命令分类汇总

Git常用命令分类汇总

一、基础操作
  1. 初始化仓库

    bash 复制代码
    git init
  2. 添加文件到暂存区

    bash 复制代码
    git add file_name   # 添加单个文件
    git add .           # 添加所有修改
  3. 提交更改

    bash 复制代码
    git commit -m "提交描述"
  4. 查看仓库状态

    bash 复制代码
    git status
二、分支管理
  1. 创建/切换分支

    bash 复制代码
    git branch branch_name      # 创建分支
    git checkout branch_name    # 切换分支
    git checkout -b new_branch  # 创建并切换分支
  2. 合并分支

    bash 复制代码
    git merge branch_name       # 将指定分支合并到当前分支
  3. 删除分支

    bash 复制代码
    git branch -d branch_name   # 删除已合并的分支
    git branch -D branch_name   # 强制删除未合并的分支
三、远程仓库
  1. 关联远程仓库

    bash 复制代码
    git remote add origin git@github.com:user/repo.git
  2. 推送代码

    bash 复制代码
    git push origin branch_name    # 首次推送需加 -u 参数
  3. 拉取代码

    bash 复制代码
    git pull origin branch_name    # 拉取并合并远程分支
    git fetch origin               # 仅获取远程更新(不合并)
  4. 克隆仓库

    bash 复制代码
    git clone git@github.com:user/repo.git
四、撤销与回退
  1. 撤销工作区修改

    bash 复制代码
    git checkout -- file_name      # 撤回指定文件的修改
  2. 重置提交历史

    bash 复制代码
    git reset HEAD~1               # 回退到前一次提交(保留修改)
    git reset --hard HEAD~1        # 强制回退(丢弃修改)
  3. 修改最近提交

    bash 复制代码
    git commit --amend             # 修正提交描述或内容
五、日志与对比
  1. 查看提交历史

    bash 复制代码
    git log                        # 完整日志
    git log --oneline --graph      # 简化版可视化日志
  2. 查看文件差异

    bash 复制代码
    git diff                       # 工作区与暂存区的差异
    git diff HEAD                  # 工作区与最新提交的差异
六、其他实用命令
  1. 暂存临时修改

    bash 复制代码
    git stash                      # 保存未提交的修改
    git stash pop                  # 恢复暂存的修改
  2. 标签管理

    bash 复制代码
    git tag v1.0                   # 创建标签
    git push origin --tags         # 推送所有标签到远程

注意事项

  1. 使用 git reset --hard 前需确认已保存所有修改
  2. 协作开发时,建议频繁 git pull --rebase 减少冲突
  3. 敏感操作(如强制推送)前备份代码
相关推荐
沐怡旸11 小时前
【穿越Effective C++】条款02:尽量以const, enum, inline替换#define
c++·面试
CptW11 小时前
第1篇(Ref):搞定 Vue3 Reactivity 响应式源码
前端·面试
渣哥13 小时前
你以为 Bean 只是 new 出来?Spring BeanFactory 背后的秘密让人惊讶
javascript·后端·面试
地方地方13 小时前
Vue依赖注入:provide/inject 问题解析与最佳实践
前端·javascript·面试
在未来等你14 小时前
Elasticsearch面试精讲 Day 26:集群部署与配置最佳实践
大数据·分布式·elasticsearch·搜索引擎·面试
渣哥14 小时前
原文来自于:[https://zha-ge.cn/java/128](https://zha-ge.cn/java/128)
javascript·后端·面试
渣哥14 小时前
项目写得再多也没用!Spring Bean 的核心概念要是没懂,迟早踩坑
javascript·后端·面试
roykingw15 小时前
【终极面试集锦】如何设计微服务熔断体系?
java·微服务·面试
Jay丶15 小时前
聊聊入职新公司两个月,试用期没过这件事
前端·面试
程序员饼总16 小时前
面试官问:说说RocketMQ的零拷贝?
面试