GIT命令常用方法
- Fang XS.
- 1452512966@qq.com
- 如果有错误,希望被指出,学习技术的路难免会磕磕绊绊
- 量的积累引起质的变化
Git 常用操作速查表
分支管理
| 命令 | 说明 | 常用场景 |
|---|---|---|
git branch |
查看本地分支列表 | 查看当前有哪些分支 |
git branch -a |
查看所有分支(包括远程) | 查看全部分支情况 |
git branch <分支名> |
创建新分支 | 基于当前分支创建新分支 |
git checkout <分支名> |
切换到指定分支 | 切换工作分支 |
git checkout -b <分支名> |
创建并切换到新分支 | 最常用的新建分支方式 |
git switch <分支名> |
切换到指定分支(新方式) | 替代 git checkout |
git switch -c <分支名> |
创建并切换分支(新方式) | 替代 git checkout -b |
git branch -d <分支名> |
删除本地分支 | 清理已合并的分支 |
git branch -D <分支名> |
强制删除本地分支 | 删除未合并的分支 |
提交操作
| 命令 | 说明 | 常用场景 |
|---|---|---|
git status |
查看工作区状态 | 随时查看当前修改状态 |
git add <文件名> |
将特定文件添加到暂存区 | 准备提交特定文件 |
git add . |
添加所有修改到暂存区 | 准备提交所有修改 |
git commit -m "描述" |
提交暂存区的更改 | 提交代码到本地仓库 |
git commit -am "描述" |
添加并提交所有已跟踪文件的修改 | 快捷提交(不包含新文件) |
git restore <文件名> |
撤销工作区的修改 | 丢弃未暂存的修改 |
git restore --staged <文件名> |
将文件从暂存区移出 | 取消已 git add 的文件 |
远程操作
| 命令 | 说明 | 常用场景 |
|---|---|---|
git push -u origin <分支名> |
首次推送新分支 | 将本地新分支推送到远程 |
git push |
推送当前分支到远程 | 后续推送更新 |
git pull |
拉取远程更新并合并 | 获取远程最新代码 |
git fetch |
获取远程更新但不合并 | 查看远程有什么更新 |
git clone <仓库地址> |
克隆远程仓库到本地 | 第一次下载项目 |
查看与比较
| 命令 | 说明 | 常用场景 |
|---|---|---|
git log |
查看提交历史 | 查看项目历史记录 |
git log --oneline |
查看简洁的提交历史 | 快速浏览提交记录 |
git diff |
查看未暂存的修改 | 比较工作区与暂存区的差异 |
git diff --staged |
查看已暂存的修改 | 比较暂存区与最新提交的差异 |
git show <commit-id> |
查看某次提交的详细内容 | 审查具体提交的改动 |
合并与重置
| 命令 | 说明 | 常用场景 |
|---|---|---|
git merge <分支名> |
合并指定分支到当前分支 | 将特性分支合并到主分支 |
git rebase <分支名> |
变基当前分支到指定分支 | 整理提交历史(谨慎使用) |
git reset --hard <commit-id> |
重置到指定提交(丢失修改) | 危险操作,回滚到历史版本 |
git reset --soft <commit-id> |
重置到指定提交(保留修改) | 撤销提交但保留修改在暂存区 |
标签管理
| 命令 | 说明 | 常用场景 |
|---|---|---|
git tag |
查看所有标签 | 查看版本标签 |
git tag v1.0.0 |
创建轻量标签 | 打版本号 |
git tag -a v1.0.0 -m "版本说明" |
创建附注标签 | 创建带说明的版本标签 |
git push origin --tags |
推送所有标签到远程 | 分享标签到远程仓库 |
最常用工作流程示例
bash
# 1. 从主分支创建功能分支
git checkout -b feature-user-login
# 2. 开发代码...然后提交
git add .
git commit -m "实现用户登录功能"
# 3. 推送到远程(第一次)
git push -u origin feature-user-login
# 4. 后续继续开发...
git add .
git commit -m "修复登录验证问题"
git push # 第二次及以后推送简化