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. 敏感操作(如强制推送)前备份代码
相关推荐
一只叫煤球的猫1 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
Hilaku9 小时前
Token已过期,我是如何实现无感刷新Token的?
前端·javascript·面试
Mor_9 小时前
UE5核心宏标记 (UCLASS, UPROPERTY, UFUNCTION) 学习笔记
面试
沐怡旸9 小时前
【底层机制】std::shared_ptr解决的痛点?是什么?如何实现?如何正确用?
c++·面试
Java中文社群9 小时前
有点意思!Java8后最有用新特性排行榜!
java·后端·面试
moisture10 小时前
CUDA常规知识点
后端·面试
zcychong10 小时前
ArrayMap、SparseArray和HashMap有什么区别?该如何选择?
android·面试
小高00710 小时前
🌐ES6 这 8 个隐藏外挂,知道 3 个算我输!
前端·javascript·面试
甜瓜看代码11 小时前
Android事件分发机制
面试
李重楼12 小时前
前端性能优化之 HTTP/2 多路复用
前端·面试