Git操作指令

115 阅读2分钟

一、基础操作指令

  1. 仓库初始化与克隆

    • git init:将当前目录初始化为Git仓库
    • git clone <URL>:克隆远程仓库到本地(支持HTTP/SSH协议)
      • 示例:git clone git@github.com:user/repo.git --depth=1(浅克隆仅保留最新提交历史)
  2. 配置管理

    • git config --global user.name "Name":全局配置用户名
    • git config --global alias.st status:设置命令别名(如用git st代替git status
  3. 提交与状态查看

    • git add .:将所有修改加入暂存区
    • git commit -m "message":提交暂存区内容并添加描述
    • git status:查看工作区与暂存区状态

二、分支与合并

  1. 分支操作

    • git branch -a:查看所有分支(包括远程分支)
    • git switch -c feature:创建并切换到新分支(替代旧版git checkout -b
    • git merge dev:将dev分支合并到当前分支
  2. 高级合并策略

    • git rebase main:将当前分支的提交变基到main分支(保持线性历史)
    • git cherry-pick <commit_id>:复制特定提交到当前分支
  3. 冲突解决

    • 执行git pull后手动编辑冲突文件,标记解决后使用git addgit commit

三、远程协作

  1. 推送与拉取

    • git push -u origin main:首次推送并设置上游分支(后续可简写为git push
    • git pull --rebase:拉取远程更新并以变基方式合并(避免冗余合并提交)
  2. 强制操作(慎用)

    • git push --force-with-lease:安全强制推送(防止覆盖他人提交)
    • git reset --hard HEAD~3:回退本地提交后强制推送(需团队协调)
  3. 远程仓库管理

    • git remote add origin <URL>:关联远程仓库
    • git remote -v:查看已配置的远程仓库

四、撤销与恢复

  1. 撤销修改

    • git restore <file>:丢弃工作区未暂存的修改(替代git checkout -- <file>
    • git reset HEAD~1:撤销最近一次提交(保留修改到暂存区)
  2. 操作历史追溯

    • git reflog:查看所有操作记录(含已删除的提交)
    • git revert <commit_id>:创建新提交以撤销特定历史提交

五、高级工具

  1. 临时存储

    • git stash:暂存未提交的修改
    • git stash pop:恢复暂存内容并删除记录
  2. 标签管理

    • git tag v1.0:创建轻量标签
    • git push --tags:推送所有标签到远程仓库
  3. 高效协作

    • git worktree add ../new-feature:在同一仓库中创建独立工作目录(支持多分支并行开发)
    • git range-diff A..B C..D:比较两个提交范围的差异(适用于代码评审)

实用场景示例

  • 紧急修复生产问题

    git stash              # 暂存当前工作
    git switch hotfix      # 切换到修复分支
    git commit -m "Fix critical bug"
    git push origin hotfix
    git switch main        # 返回原分支
    git stash pop          # 恢复暂存内容
    
  • 同步团队仓库

    git fetch --all        # 获取所有远程更新
    git rebase origin/main # 变基本地提交到最新远程分支
    git push --force-with-lease