创建仓库
This commit is contained in:
86
Git/Git 常用命令总结与检索手册.md
Normal file
86
Git/Git 常用命令总结与检索手册.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
tags:
|
||||
aliases:
|
||||
- 📜 Git 常用命令总结与检索手册
|
||||
date created: 星期一, 十二月 8日 2025, 12:27:54 凌晨
|
||||
date modified: 星期一, 十二月 8日 2025, 12:35:01 凌晨
|
||||
---
|
||||
|
||||
# 📜 Git 常用命令总结与检索手册
|
||||
|
||||
## I. 初始化与基础操作 (Initialization & Basics)
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :--------------- | :------------------------------------------------ | :---------------------------------------------------------------------------------------------- |
|
||||
| **创建新仓库** | `git init` | 在当前目录初始化一个空的 Git 仓库。 |
|
||||
| **克隆远程仓库** | `git clone <url>` | 将远程仓库(如 Gitea)完整地克隆到本地。 |
|
||||
| **设置用户信息** | `git config --global user.name "Your Name"` | 设置全局用户名,用于 Commit 记录。 |
|
||||
| | `git config --global user.email "your@email.com"` | 设置全局邮箱,用于 Commit 记录。 |
|
||||
| **检查状态** | `git status` | 查看工作区 (Working Directory) 和暂存区 (Staging Area) 的状态,哪些文件已修改、已暂存、未追踪。 |
|
||||
|
||||
## II. 日常工作流 (Daily Workflow - C/A/C/P)
|
||||
|
||||
日常工作遵循 **C**heckout / **A**dd / **C**ommit / **P**ush 流程。
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :--------------- | :----------------------------------------- | :--------------------------------------------------------- |
|
||||
| **暂存文件** | `git add <file>` | 将文件从工作区添加到暂存区。 |
|
||||
| | `git add .` | 暂存所有修改和新增文件(不包含删除)。 |
|
||||
| **提交到本地库** | `git commit -m "Commit Message"` | 将暂存区内容提交到本地仓库,必须包含清晰的提交信息。 |
|
||||
| **提交多行信息** | `git commit -m "Subject" -m "Body line 1"` | 创建包含多行 `body` 的提交信息。 |
|
||||
| **推送到远程库** | `git push origin <branch>` | 将本地分支的提交推送到远程仓库。 |
|
||||
| | `git push -u origin <branch>` | **初次推送**时使用,设置本地分支追踪远程分支。 |
|
||||
| **拉取最新代码** | `git pull origin <branch>` | **(Fetch + Merge)** 拉取远程分支并自动合并到当前本地分支。 |
|
||||
| **拉取并清理** | `git fetch --prune` / `git fetch -p` | 拉取远程更新,并删除本地已失效的远程跟踪引用。 |
|
||||
|
||||
## III. 分支管理 (Branch Management)
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :----------------- | :-------------------------------- | :----------------------------------------------- |
|
||||
| **查看本地分支** | `git branch` | 列出本地所有分支,当前分支前有 `*` 标记。 |
|
||||
| **查看远程分支** | `git branch -r` | 列出所有远程跟踪分支。 |
|
||||
| **创建新分支** | `git branch <name>` | 基于当前分支创建一个新分支。 |
|
||||
| **创建并切换** | `git checkout -b <name>` | 创建新分支并立即切换到该分支(用于新功能开发)。 |
|
||||
| **切换分支** | `git checkout <name>` | 切换到已存在的分支。 |
|
||||
| **删除已合并分支** | `git branch -d <name>` | 安全地删除本地已合并的分支。 |
|
||||
| **强制删除分支** | `git branch -D <name>` | 强制删除本地未合并的分支(请谨慎使用)。 |
|
||||
| **删除远程分支** | `git push origin --delete <name>` | 删除远程仓库上的分支。 |
|
||||
|
||||
## IV. 代码历史与撤销 (History & Undo)
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :----------------- | :------------------------ | :----------------------------------------------------------- |
|
||||
| **查看提交历史** | `git log` | 查看完整的提交历史。 |
|
||||
| **简洁历史** | `git log --oneline` | 以一行方式显示提交历史(常用)。 |
|
||||
| **查看差异** | `git diff` | 查看工作区和暂存区之间的差异。 |
|
||||
| | `git diff --staged` | 查看暂存区和本地仓库 HEAD 之间的差异。 |
|
||||
| **撤销暂存** | `git reset HEAD <file>` | 将文件从暂存区移回工作区(取消 `git add`)。 |
|
||||
| **撤销工作区修改** | `git restore <file>` | 丢弃工作区中对某个文件的所有修改(危险操作)。 |
|
||||
| **重置到某一提交** | `git reset --soft <hash>` | 重置 HEAD 到指定提交,保留工作区和暂存区的修改。 |
|
||||
| | `git reset --hard <hash>` | **危险操作:** 彻底重置 HEAD、暂存区和工作区,丢弃所有修改。 |
|
||||
| **合并提交** | `git rebase -i <ref>` | 交互式地合并、修改、删除历史提交(用于清理历史)。 |
|
||||
|
||||
## V. 合并与集成 (Merge & Rebase)
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :---------------- | :--------------------------------------------------------------- | :----------------------------------------------------------- |
|
||||
| **合并分支** | `git merge <branch>` | 将指定分支的更改合并到当前分支。 |
|
||||
| **变基 (Rebase)** | `git rebase <branch>` | 将当前分支的提交移动到目标分支的最新提交之后,保持线性历史。 |
|
||||
| **解决冲突** | `git status` -> **编辑文件** -> `git add <file>` -> `git commit` | 标准的冲突解决流程。 |
|
||||
| **放弃 Rebase** | `git rebase --abort` | 取消正在进行的 `rebase` 操作,回到开始前的状态。 |
|
||||
|
||||
## VI. 协作工具 (Collaboration Tools)
|
||||
|
||||
| 目的 | 命令 | 描述 |
|
||||
| :--------------- | :---------------------------------------------------- | :---------------------------------------------------- |
|
||||
| **查看远程库** | `git remote -v` | 查看当前配置的远程仓库地址和名称(通常是 `origin`)。 |
|
||||
| **设置上游分支** | `git branch --set-upstream-to=origin/<remote_branch>` | 为本地分支设置远程跟踪分支。 |
|
||||
| **推送标签** | `git tag <tag-name>` -> `git push origin --tags` | 创建本地标签并推送到远程仓库。 |
|
||||
|
||||
---
|
||||
|
||||
> **最佳实践提醒:**
|
||||
> 1. **频繁提交 (Commit)**:保持提交的原子性和描述的清晰性。
|
||||
> 2. **拉取最新 (Pull)**:在创建新分支和开始工作前,务必 `git pull origin develop`。
|
||||
> 3. **使用分支**:永远在 `feature/` 分支上工作。
|
||||
> 4. **SSH 密钥**:确保您的 SSH 密钥正确配置,以避免重复输入密码。
|
||||
Reference in New Issue
Block a user