常用的git命令

一、基础操作

  1. ​初始化仓库

    复制代码
    git init
    • 场景:新建项目时初始化本地仓库。
  2. ​配置用户信息

    复制代码
    git config --global user.name "Your Name"
    git config --global user.email "your@email.com"
    • 场景:首次使用 Git 前设置全局用户名和邮箱。
  3. ​查看文件状态

    复制代码
    git status
    • 场景:查看哪些文件被修改、暂存或未跟踪。
  4. ​添加文件到暂存区

    复制代码
    git add <file>       # 添加单个文件
    git add .            # 添加所有修改
    • 场景:将修改后的文件提交到暂存区,准备提交。
  5. ​提交更改

    复制代码
    git commit -m "commit message"
    • 场景:保存当前工作进度,记录修改描述。
  6. ​查看提交历史

    复制代码
    git log
    git log --oneline    # 简化日志格式
    • 场景:追溯代码变更历史,查看提交记录。

​二、分支管理

  1. ​创建分支

    复制代码
    git branch <branch-name>
    • 场景:开发新功能或修复 Bug 时创建独立分支。
  2. ​切换分支

    复制代码
    git checkout <branch-name>
    • 场景:切换到其他分支继续工作。
  3. ​创建并切换分支

    复制代码
    git checkout -b <new-branch>
    • 场景 :快速创建并切换到新分支(如 git checkout -b feature/login)。
  4. ​合并分支

    复制代码
    git checkout main        # 切换到目标分支
    git merge <source-branch>
    • 场景 :将开发分支的代码合并到主分支(如 main 或 master)。
  5. ​删除分支

    复制代码
    git branch -d <branch-name>      # 删除已合并的分支
    git branch -D <branch-name>      # 强制删除未合并的分支
    • 场景:清理已合并的无用分支。

​三、远程仓库协作

  1. ​添加远程仓库

    复制代码
    git remote add origin <repository-url>
    • 场景:将本地仓库关联到 GitHub/GitLab 等远程仓库。
  2. ​推送代码到远程

    复制代码
    git push origin <branch-name>
    • 场景:将本地分支提交到远程仓库。
  3. ​拉取远程更新

    复制代码
    git pull origin <branch-name>   # 拉取并合并远程分支
    • 场景:同步团队成员的代码更新。
  4. ​克隆远程仓库

    复制代码
    git clone <repository-url>
    • 场景:下载远程仓库到本地。

​四、撤销与回退

  1. ​撤销工作区修改

    复制代码
    git restore <file>          # 丢弃未暂存的修改
    git restore .               # 丢弃所有未暂存修改
    • 场景:取消对文件的修改,恢复到最近一次提交的状态。
  2. ​撤回提交

    复制代码
    git reset HEAD~1           # 撤回上一次提交(保留修改)
    git reset --hard HEAD~1    # 强制撤回提交(丢弃修改)
    • 场景:修复错误的提交或回退到某个版本。
  3. ​生成新提交撤销旧提交

    复制代码
    git revert <commit-hash>
    • 场景:保留历史记录的同时撤销指定提交的修改。

​五、其他实用命令

  1. ​暂存当前工作

    复制代码
    git stash
    git stash pop          # 恢复暂存的修改
    • 场景:临时保存当前进度,切换到其他任务。
  2. ​查看文件差异

    复制代码
    git diff <file>        # 查看未暂存的修改
    git diff --staged      # 查看已暂存但未提交的修改
  3. ​标签管理(发布版本)​

    复制代码
    git tag v1.0.0         # 创建轻量标签
    git tag -a v1.0.0 -m "Release note"  # 创建带注释的标签
    git push origin v1.0.0 # 推送标签到远程
    • 场景:标记软件版本或重要里程碑。

​应用场景示例

  • ​场景 1:修复 Bug 分支

    复制代码
    git checkout -b bugfix/login-error  # 创建 Bug 修复分支
    # 修改代码后提交
    git commit -m "Fix login error"
    git checkout main                   # 切回主分支
    git merge bugfix/login-error        # 合并修复分支
  • ​场景 2:解决合并冲突

    当多人修改同一文件的同一部分时,Git 会提示冲突。手动编辑冲突文件后:

    复制代码
    git add <resolved-file>    # 标记冲突已解决
    git commit                 # 完成合并
  • ​场景 3:回退错误提交

    发现某次提交有问题:

    复制代码
    git log                    # 找到要回退的 commit hash
    git reset --hard <commit-hash>  # 回退到该版本
相关推荐
挖掘狂人5 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger6 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程6 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk6 小时前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风8 小时前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人1 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安1 天前
git学习记录01
linux·git·学习
lingchen19061 天前
版本控制 Git源代码项目管理
git
虫无涯1 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆1 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git