鏇存柊鏂囨。
This commit is contained in:
230
docs/git/git常用命令.md
Normal file
230
docs/git/git常用命令.md
Normal file
@@ -0,0 +1,230 @@
|
||||
我来为你详细介绍 Git 的使用方法和常用命令。
|
||||
|
||||
## **Git 基础概念**
|
||||
- **仓库 (Repository)**:存储项目代码和历史记录的地方
|
||||
- **工作区 (Working Directory)**:你正在编辑的文件
|
||||
- **暂存区 (Staging Area)**:准备提交的文件
|
||||
- **本地仓库 (Local Repository)**:本地保存的版本历史
|
||||
- **远程仓库 (Remote Repository)**:GitHub/GitLab 等平台的仓库
|
||||
|
||||
## **Git 工作流程**
|
||||
```
|
||||
工作区 → `git add` → 暂存区 → `git commit` → 本地仓库 → `git push` → 远程仓库
|
||||
```
|
||||
|
||||
## **常用命令分类**
|
||||
|
||||
### **1. 配置相关**
|
||||
```bash
|
||||
# 设置用户信息
|
||||
git config --global user.name "你的名字"
|
||||
git config --global user.email "你的邮箱"
|
||||
|
||||
# 查看配置
|
||||
git config --list
|
||||
|
||||
# 设置默认编辑器(如 VS Code)
|
||||
git config --global core.editor "code --wait"
|
||||
```
|
||||
|
||||
### **2. 仓库操作**
|
||||
```bash
|
||||
# 初始化新仓库
|
||||
git init
|
||||
|
||||
# 克隆远程仓库
|
||||
git clone <仓库URL>
|
||||
git clone https://github.com/username/repo.git
|
||||
|
||||
# 查看仓库状态
|
||||
git status
|
||||
|
||||
# 查看远程仓库
|
||||
git remote -v
|
||||
|
||||
# 添加远程仓库
|
||||
git remote add origin <仓库URL>
|
||||
```
|
||||
|
||||
### **3. 基础操作**
|
||||
```bash
|
||||
# 添加文件到暂存区
|
||||
git add 文件名 # 添加特定文件
|
||||
git add . # 添加所有修改
|
||||
git add *.js # 添加所有js文件
|
||||
|
||||
# 提交到本地仓库
|
||||
git commit -m "提交说明"
|
||||
|
||||
# 添加并提交(两步合并)
|
||||
git commit -am "提交说明" # 只能提交已跟踪的文件
|
||||
|
||||
# 查看提交历史
|
||||
git log
|
||||
git log --oneline # 简洁显示
|
||||
git log --graph # 图形化显示分支
|
||||
git log -p # 显示具体修改内容
|
||||
```
|
||||
|
||||
### **4. 分支管理**
|
||||
```bash
|
||||
# 查看分支
|
||||
git branch # 查看本地分支
|
||||
git branch -a # 查看所有分支(包括远程)
|
||||
git branch -r # 查看远程分支
|
||||
|
||||
# 创建分支
|
||||
git branch 分支名 # 创建分支
|
||||
git checkout -b 分支名 # 创建并切换到该分支
|
||||
git switch -c 分支名 # 新版本推荐(Git 2.23+)
|
||||
|
||||
# 切换分支
|
||||
git checkout 分支名
|
||||
git switch 分支名 # 新版本推荐
|
||||
|
||||
# 合并分支
|
||||
git merge 分支名 # 将指定分支合并到当前分支
|
||||
|
||||
# 删除分支
|
||||
git branch -d 分支名 # 删除已合并的分支
|
||||
git branch -D 分支名 # 强制删除分支
|
||||
```
|
||||
|
||||
### **5. 远程操作**
|
||||
```bash
|
||||
# 推送代码
|
||||
git push origin 分支名
|
||||
git push -u origin main # 首次推送并建立关联
|
||||
|
||||
# 拉取代码
|
||||
git pull origin 分支名 # 拉取并合并
|
||||
git fetch origin # 只拉取不合并
|
||||
|
||||
# 同步远程分支
|
||||
git fetch --prune # 删除本地不存在的远程分支引用
|
||||
```
|
||||
|
||||
### **6. 撤销操作**
|
||||
```bash
|
||||
# 撤销工作区修改
|
||||
git checkout -- 文件名 # 丢弃工作区修改
|
||||
git restore 文件名 # 新版本推荐
|
||||
|
||||
# 撤销暂存区文件
|
||||
git reset HEAD 文件名 # 从暂存区移除
|
||||
git restore --staged 文件名 # 新版本推荐
|
||||
|
||||
# 修改上次提交
|
||||
git commit --amend # 修改提交信息或内容
|
||||
|
||||
# 回退到指定版本
|
||||
git reset --soft HEAD^ # 撤销commit,保留修改到暂存区
|
||||
git reset --mixed HEAD^ # 撤销commit,保留修改到工作区(默认)
|
||||
git reset --hard HEAD^ # 彻底删除commit和修改
|
||||
git reset --hard commit_id # 回退到指定commit
|
||||
```
|
||||
|
||||
### **7. 暂存修改**
|
||||
```bash
|
||||
# 临时保存修改
|
||||
git stash # 保存当前修改
|
||||
git stash save "说明" # 保存并添加说明
|
||||
git stash list # 查看暂存列表
|
||||
git stash apply # 恢复最近暂存的修改
|
||||
git stash pop # 恢复并删除暂存记录
|
||||
git stash drop # 删除暂存记录
|
||||
```
|
||||
|
||||
### **8. 标签管理**
|
||||
```bash
|
||||
# 创建标签
|
||||
git tag v1.0 # 创建轻量标签
|
||||
git tag -a v1.0 -m "版本说明" # 创建附注标签
|
||||
|
||||
# 查看标签
|
||||
git tag # 列出所有标签
|
||||
git show v1.0 # 查看标签详情
|
||||
|
||||
# 推送标签
|
||||
git push origin v1.0 # 推送单个标签
|
||||
git push origin --tags # 推送所有标签
|
||||
```
|
||||
|
||||
### **9. 比较差异**
|
||||
```bash
|
||||
git diff # 比较工作区和暂存区
|
||||
git diff --staged # 比较暂存区和最新提交
|
||||
git diff HEAD # 比较工作区和最新提交
|
||||
git diff 分支1 分支2 # 比较两个分支
|
||||
git diff commit1 commit2 # 比较两次提交
|
||||
```
|
||||
|
||||
## **实用工作流程示例**
|
||||
|
||||
### **场景1:日常开发流程**
|
||||
```bash
|
||||
# 1. 开始新功能
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git checkout -b feature/new-feature
|
||||
|
||||
# 2. 开发
|
||||
git add .
|
||||
git commit -m "添加新功能"
|
||||
|
||||
# 3. 推送
|
||||
git push origin feature/new-feature
|
||||
|
||||
# 4. 合并到主分支
|
||||
git checkout main
|
||||
git merge feature/new-feature
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### **场景2:处理紧急bug**
|
||||
```bash
|
||||
# 1. 暂存当前工作
|
||||
git stash
|
||||
|
||||
# 2. 创建修复分支
|
||||
git checkout -b hotfix/bug-fix
|
||||
|
||||
# 3. 修复并提交
|
||||
# ... 修复代码 ...
|
||||
git add .
|
||||
git commit -m "修复紧急bug"
|
||||
|
||||
# 4. 合并修复
|
||||
git checkout main
|
||||
git merge hotfix/bug-fix
|
||||
git push origin main
|
||||
|
||||
# 5. 恢复之前的工作
|
||||
git checkout feature/your-branch
|
||||
git stash pop
|
||||
```
|
||||
|
||||
## **实用技巧**
|
||||
1. **设置别名**:
|
||||
```bash
|
||||
git config --global alias.co checkout
|
||||
git config --global alias.br branch
|
||||
git config --global alias.ci commit
|
||||
git config --global alias.st status
|
||||
```
|
||||
|
||||
2. **查看帮助**:
|
||||
```bash
|
||||
git help <命令>
|
||||
git <命令> --help
|
||||
```
|
||||
|
||||
3. **忽略文件**:创建 `.gitignore` 文件
|
||||
|
||||
## **注意事项**
|
||||
- 重要操作前先备份或确认
|
||||
- 频繁提交小改动,保持提交信息清晰
|
||||
- 推送前先拉取最新代码
|
||||
- 使用分支进行功能开发
|
||||
|
||||
这些是 Git 最常用的命令,掌握了这些就能应对大部分日常开发需求。
|
||||
Reference in New Issue
Block a user