Git常用操作指令

Git是目前最流行的分布式版本管理系统,以下按照使用场景和功能模块进行分类介绍

一、初始化与配置 (Initial Setup)

在项目开始或首次使用Git时需要操作

bash 复制代码
// 1、全局配置用户信息(只需设置一次)
git config --global user.name "Your Name"
git config --global user.email "You Email Url"

// 2、查看当前配置
git clone --list

// 3、初始化本地仓库
git init

// 4、克隆远程仓库
git clone <远程仓库地址> 

// 5、克隆远程指定仓库分支
git clone -b <分支名> <仓库地址>

二、分支管理 (Branch Management)

用于并行开发、功能隔离和代码合并

bash 复制代码
// 1、查看分支
git branch        // 本地分支
git branch -r     // 远程分支
git branch -a     // 所有分支

// 2、创建与切换
git branch <分支名>        // 创建分支
git checkout <分支名>      // 切换分支
git switch <分支名>        // 切换分支(Git 2.23+ 推荐)
git checkout -b <分支名>   // 创建并切换
git switch -c <分支名>     // 创建并切换(Git 2.23+ 推荐)

// 3、合并分支
git merge <分支名>         // 将指定分支合并到当前分支
git merge --no-ff <分支名> // 强制创建合并提交,保留分支历史

// 4、删除分支
git branch -d <分支名>               // 删除已合并的本地分支
git branch -D <分支名>               // 强制删除本地分支
git push origin --delete <分支名>    // 删除远程分支

三、远程协作(Remote Operations)

与远程仓库进行同步

bash 复制代码
// 1、关联远程仓库
git remote add origin <分支名>
git remote -v    // 查看远程仓库地址

// 2、拉取代码
git fetch origin        // 下载远程更新,但不合并(安全推荐)
git pull origin <分支名> // 下载并合并(相当于 fetch + merge)
git pull --rebase       // 下载并变基,保持提交历史线形

// 3、推送代码
git push                      // 推送到当前已关联的远程分支
git push origin <分支名>       // 推送到指定的远程分支
git push -u origin <分支名>    // 首次推送并建立追踪关系
git push --all origin         // 推送所有分支

四、版本回退与历史查看(History & Reset)

当需要查看历史记录或撤销错误提交使用时使用。

bash 复制代码
// 1、查看日志
git log            // 详细历史
git log --oneline  // 简洁单行显示
git log --graph    // 图形化显示分支合并情况
git reflog         // 查看所有 HEAD 变动记录(找回丢失提价的救命稻草)

// 2、回退版本
git reset --soft HEAD~1    // 回退 commit,保留修改在暂存区
git reset --mixed HEAD~1   // 回退 commit,保留修改在工作区(默认)
git reset --head HEAD~1    // 回退 commit,丢弃所有修改(危险)

// 3、撤销某次提交(生成新的反向提交,适合已推送到远程的情况)
git revert <commit-id>  

// 4、修改上一次提交
git commit --amend -m "提交信息"
git commit --amend --no-edit # 仅添加遗漏文件,不修改休息

五、临时保存(Stash)

当需要切换分支但当前工作并未完成,又不想提交时使用。

bash 复制代码
git stash "备注信息"    // 暂存当前修改
git stash list         // 查看暂存列表
git stash pop          // 恢复最近一次暂存并删除记录
git stash apply        // 恢复最近一次暂存但保留记录
git stash clear        // 清空所有暂存

六、标签管理(Tags)

用于发布版本标记。

bash 复制代码
git tag v1.0.0                        // 创建轻量标签
git tag -a v1.0.0 -m "版本说明"        // 创建带注释标签
git push origin v1.0.0                // 推送指定标签
git push origin --tags                // 推送所有标签
git tag -d v1.0.0                     // 删除本地标签
git push origin --delete v1.0.0       // 删除远程标签 

七、日常开发高频命令(Daily Workflow)

这是开发者日常使用频率最高的命令组合:修改 ---> 暂存 ---> 提交

bash 复制代码
// 1、查看状态(红色为未暂存,绿色为已暂存)
git status

// 2、查看代码差异
git diff            // 工作区 vs 暂存区
git diff --staged   // 暂存区 vs 最新提交(也可以用 git diff --cached)

// 3、添加文件到暂存区
git add <文件名>    // 添加指定文件
git add .          // 添加所有变更文件(注意 .gitignore 规则)
git add -u         // 仅添加已被跟踪且修改的文件(不添加新文件)

// 4、提交到本地仓库
git commit -m "提交说明"
git commit -am "提交说明"    // 跳过 add,直接提交所有已跟踪文件的修改

// 5、撤销操作
git restore <文件名>           // 撤销工作区的修改(Git 2.23+)
git restore --staged <文件名>  // 撤销暂存区的修改(Git 2.23+)
// 旧版等效命令
git checkout -- <文件名>
git reset HEAD <文件名>