


## 远程仓库管理

### 查看与添加远程仓库

```bash
git remote -v                            # 查看所有远程仓库
git remote add origin <url>              # 添加远程仓库（别名 origin）
git remote rm origin                     # 删除远程仓库
````

### 拉取与推送

|命令|说明|
|---|---|
| `git fetch origin` |拉取远程仓库所有数据（不自动合并）|
| `git pull origin master` |拉取并自动合并到当前分支（等效于 `fetch + merge`）|
| `git push origin master` |将本地 master 分支推送到远程|
| `git push origin --delete branchName` |删除远程分支|

### origin 与 master 的关系

- **origin**：远程仓库的默认别名。
- **master**：本地默认分支（现代 Git 可能默认 `main`）。
- **origin/master**：本地对远程仓库 master 分支的引用，表示远程状态。

```bash
git diff master origin/master            # 查看本地与远程的差异
```

关于分支的远程跟踪，请参见 [Git 分支管理](app://obsidian.md/Git%20%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86)。

## 打标签

### 创建标签

```bash
git tag v1.0.0                           # 创建轻量标签
git tag -a v1.0.0 -m "Release 1.0"       # 创建附注标签（推荐）
git tag -l "v1.*"                        # 列出匹配模式的标签
```

### 推送与删除标签

```bash
git push origin v1.0.0                   # 推送单个标签
git push origin --tags                   # 推送所有标签
git tag -d v1.0.0                        # 删除本地标签
git push origin :refs/tags/v1.0.0        # 删除远程标签
```

## 撤销操作

|场景|命令|
|---|---|
|修改上次提交（漏文件或写错信息）| `git commit --amend` |
|取消暂存文件| `git reset HEAD <file>` |
|撤销工作区修改| `git checkout -- <file>`（危险）|
|回退到历史版本| `git reset --hard <commit>` |

关于回溯的更详细说明，参见 [Git 核心概念与基础操作 > 查看提交历史与回溯](app://obsidian.md/Git%20%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5%E4%B8%8E%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C#%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2%E4%B8%8E%E5%9B%9E%E6%BA%AF)。