⭐ git 命令详解和实战
对git 命令,相信码农并不陌生。本文结合实际用到git命令,将git命令进行全面整理和总结。另外在给出Gitee远程的场景全流程使用到的git命令。
一、git常用命令
-
git clone <url>
场景:克隆远程仓库到本地
参数用法:--depth 1:浅克隆(仅最新版本)-b <branch>:指定分支克隆
git clone https://github.com/user/repo.git --depth 1 -b develop -
git add [file]
场景:将修改加入暂存区
参数用法:.:添加所有修改文件-p:交互式选择修改片段
git add -p # 分段审查修改内容 -
git commit -m "message"
场景:提交暂存区内容
参数用法:--amend:修改最近一次提交-a:跳过git add直接提交跟踪文件
git commit --amend # 修正提交信息或追加修改 -
git push <remote> <branch>
场景:推送本地提交到远程
参数用法:-u:设置上游分支(首次推送必用)--force:强制覆盖远程(慎用)
git push -u origin main # 首次推送并关联分支 -
git pull <remote> <branch>
场景:拉取远程更新并合并
参数用法:--rebase:变基代替合并(保持提交线整洁)
git pull --rebase origin feature # 避免多余合并提交 -
git checkout [target]
场景:切换分支/恢复文件
参数用法:-b <branch>:创建并切换分支-- [file]:撤销工作区修改
git checkout -b hotfix # 创建并切换到热修复分支
📁 高频操作命令与场景
| 命令 | 典型场景 | 关键参数 |
|---|---|---|
git status | 查看工作区/暂存区状态 | -s(精简输出) |
git log | 查看提交历史 | --oneline(单行显示) -p(显示差异) |
git branch | 分支管理 | -d(删除分支) -r(查看远程分支) |
git merge <branch> | 合并指定分支到当前分支 | --no-ff(禁用快进合并) |
git reset [commit] | 版本回退 | --soft(保留修改) --hard(彻底删除) |
git stash | 临时保存未提交修改 | pop(恢复修改) list(查看存储列表) |
️ 其他关键命令分类
仓库管理
```Bash
git init # 初始化新仓库
git remote add # 关联远程仓库
git fetch # 下载远程对象(不自动合并)
```
提交优化
Bash
git rebase -i HEAD~3 # 交互式变基(合并/编辑提交)
git cherry-pick <commit> # 选择性应用提交
文件操作
Bash
git rm [file] # 删除文件并暂存
git mv [old] [new] # 重命名文件并暂存
诊断与修复
Bash
git bisect # 二分查找引入 Bug 的提交
git reflog # 查看所有操作记录(找回误删内容)
💡 场景化命令参考
- 紧急修复:
git stash → git checkout -b hotfix → 修复 → commit → push - 撤销错误提交:
git reset --soft HEAD~1(保留修改重新提交) - 多分支开发:
git checkout -b feature → 开发 → rebase main → push
二、实战
以gitee为例。
本地项目文件夹 testApp 初始化为 Git 仓库并推送到 Gitee 远程仓库,需执行以下步骤:
本地 testApp --> 本地仓库 --> gitee远程仓库
📦 1. 本地仓库初始化
Bash # 进入项目目录
cd testApp
# 初始化本地 Git 仓库
git init
# 添加所有文件到暂存区(包括隐藏文件)
git add .
# 提交初始版本
git commit -m "Initial commit"
🔧 1.1. 配置全局信息(首次使用 Git 时)
Bash # 设置用户名和邮箱(与 Gitee 账号一致),对于一个远程仓库,只需要配置一次即可
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
📦 2. 关联 Gitee 远程仓库
前提:已在 Gitee 创建空仓库 testApp(仓库路径示例:https://gitee.com/ 你的用户名/testApp.git )
Bash # 添加远程仓库地址(二选一),主要:先配置密钥
git remote add origin https://gitee.com/ 你的用户名/testApp.git # HTTPS 方式
git remote add origin git@gitee.com: 你的用户名/testApp.git # SSH 方式(推荐)
# 验证远程仓库配置
git remote -v
✅ 注意:
HTTPS:每次推送需输入 Gitee 账号密码(或配置凭证缓存 )。
SSH:需提前配置 SSH 密钥 (更安全便捷)。
gitee 官网对此有详细说明。这里不赘述。
🚀 3. 推送到远程仓库
Bash # 首次推送(将本地 main/master 分支关联到远程 origin)
git push -u origin main # 若分支名为 master 则替换为 master
# 后续推送(简化命令)
git push
⚠️ 常见问题:
分支名冲突
若远程仓库已存在文件(如 README),需先拉取合并:
git pull origin main --allow-unrelated-histories # 解决冲突后重新提交推送权限错误
:
- HTTPS:检查账号密码或访问令牌
- SSH:确认
~/.ssh/id_rsa.pub已添加到 Gitee SSH 公钥设置
✅ 完整流程示例
```bash
cd testApp
git init
git add .
git commit -m "项目初始化"
git remote add origin git@gitee.com:yourname/testApp.git
git push -u origin main
------
### 📌 **关键要点总结**
| **步骤** | **命令/操作** | **说明** |
| ------------ | ------------------------------------------------ | ---------------------- |
| 本地初始化 | `git init` → `git add .` → `git commit -m "msg"` | 创建仓库并提交初始版本 |
| 关联远程仓库 | `git remote add origin [URL]` | 绑定 Gitee 仓库地址 |
| 首次推送 | `git push -u origin main` | `-u` 设置上游分支关联 |
| 身份验证 | 配置 SSH 密钥 或 使用 HTTPS + 账号密码/令牌 | 解决推送权限问题 |
------
💡 **提示**:
- 使用 `git status` 查看实时状态,`git log` 检查提交记录。
- 若推送失败,根据错误提示调整分支名(如 `master` → `main`)或解决冲突。
Git命令详解与实战指南
244

被折叠的 条评论
为什么被折叠?



