Ver código fonte

将Git操作指南改为使用TortoiseGit UI操作描述

zhangguo 6 dias atrás
pai
commit
15b4c48cb1
1 arquivos alterados com 233 adições e 143 exclusões
  1. 233 143
      Git/GitRead.md

+ 233 - 143
Git/GitRead.md

@@ -33,184 +33,274 @@
 
 ## 远端与本地分支
 
-### 本地分支操作
-
-```bash
-# 创建新分支
-git branch <分支名>
-
-# 切换分支
-git checkout <分支名>
-
-# 创建并切换到新分支
-git checkout -b <分支名>
-
-# 查看本地分支
-git branch
-
-# 删除本地分支
-git branch -d <分支名>
-
-# 强制删除本地分支
-git branch -D <分支名>
-```
-
-### 远端分支操作
-
-```bash
-# 添加远程仓库
-git remote add <远端名称> <远程仓库URL>
-
-# 查看远程仓库
-git remote -v
-
-# 从远程仓库拉取更新
-git pull <远端名称> <分支名>
-
-# 推送本地分支到远程仓库
-git push <远端名称> <本地分支名>:<远程分支名>
-
-# 推送本地分支并设置上游分支
-git push -u <远端名称> <分支名>
-
-# 查看远程分支
-git branch -r
-
-# 查看所有分支(本地和远程)
-git branch -a
-
-# 删除远程分支
-git push <远端名称> --delete <远程分支名>
-```
-
-### 分支合并
-
-```bash
-# 切换到目标分支
-git checkout <目标分支>
-
-# 合并源分支到目标分支
-git merge <源分支>
-
-# 解决冲突后提交
-git add <冲突文件>
-git commit
-```
+### 本地分支操作(使用TortoiseGit UI)
+
+1. **创建新分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 创建分支**
+   - 在弹出的对话框中,输入分支名称
+   - 选择基于哪个提交创建分支(默认为当前HEAD)
+   - 点击 **确定** 按钮
+
+2. **切换分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 切换/检出**
+   - 在弹出的对话框中,从分支列表中选择要切换的分支
+   - 点击 **确定** 按钮
+
+3. **创建并切换到新分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 创建分支**
+   - 在弹出的对话框中,输入分支名称
+   - 勾选 **切换到新分支** 选项
+   - 点击 **确定** 按钮
+
+4. **查看本地分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,可以看到所有本地分支和远程分支
+   - 当前分支会以加粗显示
+
+5. **删除本地分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,选择要删除的本地分支
+   - 点击 **删除** 按钮
+   - 在确认对话框中,点击 **确定** 按钮
+
+6. **强制删除本地分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,选择要强制删除的本地分支
+   - 点击 **删除** 按钮
+   - 在确认对话框中,勾选 **强制删除** 选项
+   - 点击 **确定** 按钮
+
+### 远端分支操作(使用TortoiseGit UI)
+
+1. **添加远程仓库**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 设置**
+   - 在左侧导航栏中选择 **Git → 远端**
+   - 点击 **添加** 按钮
+   - 在弹出的对话框中,输入远端名称和远程仓库URL
+   - 点击 **确定** 按钮
+
+2. **查看远程仓库**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 设置**
+   - 在左侧导航栏中选择 **Git → 远端**
+   - 可以看到所有已添加的远程仓库及其URL
+
+3. **从远程仓库拉取更新**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 拉取**
+   - 在弹出的对话框中,选择远程仓库和分支
+   - 点击 **确定** 按钮
+
+4. **推送本地分支到远程仓库**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 推送**
+   - 在弹出的对话框中,选择本地分支和远程分支
+   - 点击 **确定** 按钮
+
+5. **推送本地分支并设置上游分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 推送**
+   - 在弹出的对话框中,选择本地分支
+   - 在远程分支输入框中输入分支名称
+   - 勾选 **设置 upstream/tracking 参考** 选项
+   - 点击 **确定** 按钮
+
+6. **查看远程分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,选择 **远程分支** 标签页
+   - 可以看到所有远程分支
+
+7. **查看所有分支(本地和远程)**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,可以看到本地分支和远程分支
+
+8. **删除远程分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 推送**
+   - 在弹出的对话框中,选择远程仓库
+   - 在 **本地分支** 下拉菜单中选择 **<无>**
+   - 在 **远程分支** 输入框中输入要删除的远程分支名称
+   - 点击 **确定** 按钮
+   - 在确认对话框中,点击 **确定** 按钮
+
+### 分支合并(使用TortoiseGit UI)
+
+1. **切换到目标分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 切换/检出**
+   - 在弹出的对话框中,选择目标分支
+   - 点击 **确定** 按钮
+
+2. **合并源分支到目标分支**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 合并**
+   - 在弹出的对话框中,选择要合并的源分支
+   - 点击 **确定** 按钮
+
+3. **解决冲突**
+   - 如果合并过程中出现冲突,TortoiseGit会显示冲突文件列表
+   - 双击冲突文件,使用TortoiseGit的冲突解决工具解决冲突
+   - 解决完冲突后,保存文件
+
+4. **提交合并结果**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 提交**
+   - 在弹出的对话框中,确认提交信息
+   - 点击 **确定** 按钮
 
 ## 日志分析
 
-### 查看提交历史
+### 查看提交历史(使用TortoiseGit UI)
 
-```bash
-# 查看完整提交历史
-git log
+1. **查看完整提交历史**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在弹出的对话框中,可以看到完整的提交历史
 
-# 查看简洁提交历史
-git log --oneline
+2. **查看简洁提交历史**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,点击 **视图** 菜单
+   - 选择 **紧凑模式**
 
-# 查看最近N个提交
-git log -n <数量>
+3. **查看最近N个提交**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,点击 **限制** 按钮
+   - 在弹出的对话框中,设置 **限制数量**
+   - 点击 **确定** 按钮
 
-# 查看提交历史和更改内容
-git log -p
+4. **查看提交历史和更改内容**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择一个提交
+   - 在右侧面板中,可以看到该提交的更改内容
 
-# 查看特定文件的提交历史
-git log -- <文件路径>
+5. **查看特定文件的提交历史**
+   - 在文件上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在弹出的对话框中,可以看到该文件的提交历史
 
-# 查看特定作者的提交历史
-git log --author="<作者名>"
+6. **查看特定作者的提交历史**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,点击 **限制** 按钮
+   - 在弹出的对话框中,设置 **作者** 过滤条件
+   - 点击 **确定** 按钮
 
-# 查看特定时间段的提交历史
-git log --since="<开始时间>" --until="<结束时间>"
-```
+7. **查看特定时间段的提交历史**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,点击 **限制** 按钮
+   - 在弹出的对话框中,设置 **日期范围**
+   - 点击 **确定** 按钮
 
-### 查看更改
+### 查看更改(使用TortoiseGit UI)
 
-```bash
-# 查看工作区和暂存区的差异
-git diff
+1. **查看工作区和暂存区的差异**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 检查修改**
+   - 在弹出的对话框中,可以看到工作区的修改
 
-# 查看暂存区和HEAD的差异
-git diff --cached
+2. **查看暂存区和HEAD的差异**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 检查修改**
+   - 在弹出的对话框中,选择 **已暂存的修改** 标签页
 
-# 查看工作区和HEAD的差异
-git diff HEAD
+3. **查看工作区和HEAD的差异**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 比较差异**
+   - 在弹出的对话框中,选择 **与基础版本比较**
 
-# 查看两个提交之间的差异
-git diff <提交1> <提交2>
+4. **查看两个提交之间的差异**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择两个提交
+   - 右键点击,选择 **比较差异**
 
-# 查看两个分支之间的差异
-git diff <分支1> <分支2>
-```
+5. **查看两个分支之间的差异**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 分支**
+   - 在弹出的对话框中,选择两个分支
+   - 右键点击,选择 **比较差异**
 
 ## 回退
 
-### 回退到之前的提交
-
-```bash
-# 软回退:保留工作区和暂存区的更改
-git reset --soft <提交哈希>
-
-# 混合回退:保留工作区的更改,清空暂存区
-git reset --mixed <提交哈希>  # 默认选项
-
-# 硬回退:丢弃工作区和暂存区的更改
-git reset --hard <提交哈希>
-```
-
-### 回退到远程分支的状态
-
-```bash
-# 强制本地分支与远程分支保持一致
-git reset --hard <远端名称>/<分支名>
-```
-
-### 撤销修改
-
-```bash
-# 撤销工作区的修改(未add)
-git checkout -- <文件路径>
-
-# 撤销暂存区的修改(已add但未commit)
-git reset HEAD <文件路径>
-
-# 撤销最近的提交,保留更改
-git reset HEAD~1
-
-# 撤销最近的提交,丢弃更改
-git reset --hard HEAD~1
-
-# 撤销特定文件的提交
-git checkout HEAD -- <文件路径>
-```
+### 回退到之前的提交(使用TortoiseGit UI)
+
+1. **软回退:保留工作区和暂存区的更改**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择要回退到的提交
+   - 右键点击,选择 **重置"master"到这个版本**
+   - 在弹出的对话框中,选择 **软重置** 选项
+   - 点击 **确定** 按钮
+
+2. **混合回退:保留工作区的更改,清空暂存区**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择要回退到的提交
+   - 右键点击,选择 **重置"master"到这个版本**
+   - 在弹出的对话框中,选择 **混合重置** 选项(默认)
+   - 点击 **确定** 按钮
+
+3. **硬回退:丢弃工作区和暂存区的更改**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择要回退到的提交
+   - 右键点击,选择 **重置"master"到这个版本**
+   - 在弹出的对话框中,选择 **硬重置** 选项
+   - 点击 **确定** 按钮
+
+### 回退到远程分支的状态(使用TortoiseGit UI)
+
+1. **强制本地分支与远程分支保持一致**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 拉取**
+   - 在弹出的对话框中,选择远程仓库和分支
+   - 勾选 **强制覆盖本地更改** 选项
+   - 点击 **确定** 按钮
+
+### 撤销修改(使用TortoiseGit UI)
+
+1. **撤销工作区的修改(未add)**
+   - 在文件上右键点击,选择 **TortoiseGit → 还原**
+   - 在弹出的对话框中,点击 **确定** 按钮
+
+2. **撤销暂存区的修改(已add但未commit)**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 检查修改**
+   - 在弹出的对话框中,选择 **已暂存的修改** 标签页
+   - 选择要撤销的文件
+   - 点击 **还原** 按钮
+   - 在确认对话框中,点击 **确定** 按钮
+
+3. **撤销最近的提交,保留更改**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择最近的提交
+   - 右键点击,选择 **重置"master"到这个版本**
+   - 在弹出的对话框中,选择 **混合重置** 选项
+   - 点击 **确定** 按钮
+
+4. **撤销最近的提交,丢弃更改**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择最近的提交
+   - 右键点击,选择 **重置"master"到这个版本**
+   - 在弹出的对话框中,选择 **硬重置** 选项
+   - 点击 **确定** 按钮
+
+5. **撤销特定文件的提交**
+   - 在文件上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择要恢复到的提交
+   - 右键点击,选择 **还原到此版本**
+   - 在弹出的对话框中,点击 **确定** 按钮
 
 ## 危险的回退
 
-### 注意事项
+### 注意事项(使用TortoiseGit UI)
 
-1. **硬回退的风险**:`git reset --hard` 会永久丢弃未提交的更改,无法恢复
+1. **硬回退的风险**:使用TortoiseGit的 **硬重置** 操作会永久丢弃未提交的更改,无法恢复
 
-2. **推送已回退的分支**:如果已经将分支推送到远程仓库,回退后再次推送需要使用 `--force` 选项,这会覆盖远程分支的历史
+2. **推送已回退的分支**:如果已经将分支推送到远程仓库,回退后再次推送需要使用 **强制推送** 选项,这会覆盖远程分支的历史
 
 3. **共享分支的回退**:如果分支被多人共享,回退可能会导致其他开发者的工作丢失
 
 4. **标签的影响**:回退操作不会移动标签,标签仍然指向原来的提交
 
-### 安全回退策略
+### 安全回退策略(使用TortoiseGit UI)
 
 1. **创建备份分支**:在回退前创建一个备份分支,保存当前状态
-   ```bash
-   git branch <备份分支名> HEAD
-   ```
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 分支/标签 → 创建分支**
+   - 在弹出的对话框中,输入备份分支名称
+   - 点击 **确定** 按钮
 
-2. **使用revert**:对于已经推送的提交,使用 `git revert` 而不是 `git reset`,这样可以创建一个新的提交来撤销之前的更改,而不是修改历史
-   ```bash
-   git revert <提交哈希>
-   ```
+2. **使用revert**:对于已经推送的提交,使用 **还原** 操作而不是 **重置**,这样可以创建一个新的提交来撤销之前的更改,而不是修改历史
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 显示日志**
+   - 在日志对话框中,选择要撤销的提交
+   - 右键点击,选择 **还原此提交**
+   - 在弹出的对话框中,点击 **确定** 按钮
 
 3. **沟通协作**:如果分支被多人共享,在回退前应与团队成员沟通,确保所有人都了解更改
 
-4. **谨慎使用force推送**:只有在确定不会影响其他开发者的情况下,才使用 `git push --force`
+4. **谨慎使用force推送**:只有在确定不会影响其他开发者的情况下,才使用 **强制推送**
+   - 在项目文件夹上右键点击,选择 **TortoiseGit → 推送**
+   - 在弹出的对话框中,勾选 **强制推送** 选项
+   - 点击 **确定** 按钮
 
 5. **定期备份**:定期备份重要的分支和提交,以防止意外丢失