常用的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>
    • 场景 :将开发分支的代码合并到主分支(如 mainmaster)。
  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>  # 回退到该版本
相关推荐
渣渣小码3 小时前
GIT客户端配置支持中文
git·git中文显示
鄃鳕3 小时前
Git 拒绝 pull,本地有未提交的修改
git
Leslie_Lei7 小时前
【Eclipse】eclipse打开git拉取的项目
java·git·eclipse
渣渣小码9 小时前
GIT快速上手(常用指令)
git
会豪1 天前
Git命令-图解-小白专享
git
韦禾水1 天前
IntelliJ IDEA 2023更新git凭据
git·intellij idea
Yvonne爱编码1 天前
构建高效协作的桥梁:前后端衔接实践与接口文档规范详解
前端·git·ajax·webpack·node.js
@CLoudbays_Martin111 天前
CDN是否能有效检测并且同时防御Ddos 和 CC 攻击?
java·服务器·网络·数据库·git·数据库开发·时序数据库
oscar9992 天前
Monorepo 全面解析:优势、挑战与适用场景
git·monorepo
龙之叶2 天前
Git Commit 生成与合入 Patch 指南
git