ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TortoiseGit实战指南:小乌龟带你轻松玩转码云Git仓库

TortoiseGit实战指南:小乌龟带你轻松玩转码云Git仓库 有一次在技术群里帮人解决码云仓库上传的问题对方已经把项目折腾了半天在命令行里敲了一堆git add、git commit、git push不是提示这个分支没关联就是报错说远端有更新要 pull。我回了一句“你装个小乌龟试试。”十分钟后他在群里连发三个大拇指。小乌龟不是宠物指的是 TortoiseGitWindows 下最老牌的 Git 图形客户端图标是一只背着壳的乌龟中文社区喊了十几年“小乌龟”。它把 Git 的命令全部包装成右键菜单点一下就能克隆、提交、推送特别适合从 SVN 转过来、或者根本不想碰命令行的开发者。这篇文章从小乌龟的安装、SSH 配置到克隆、提交、分支切换、cherry-pick 这些高频操作完整过一遍全程以码云 Gitee 作为远程仓库来演示。看完之后你应该能信心十足地把项目端上码云。1. 为什么偏偏是 TortoiseGit和码云搭伙的正确姿势1.1 小乌龟到底是个什么角色TortoiseGit 的名字一眼就能看出它的出身TortoiseSVN 的 Git 版本。它不替代 Git只是在 Windows 资源管理器里给 Git 穿了一件看得见摸得着的外套。真正在底层干活的还是 Git 本体小乌龟负责把add、commit、push这些命令翻译成右键菜单、弹窗和图标状态。打个比方Git 是发动机小乌龟是仪表盘和方向盘。你不一定非得会修发动机才能开车但得知道油门刹车在哪。TortoiseGit 就是那个把所有仪表都做得明明白白的驾驶舱文件改了、冲突了、提交成功了全部用图标颜色和弹窗告诉你不需要背命令。和 GitHub Desktop、Sourcetree 这些图形客户端相比小乌龟的优势有三个一是老牌稳定该有的功能它都有二是不绑定任何托管平台码云、GitHub、GitLab 都能用三是它活在系统右键菜单里不用额外打开一个窗口改完文件直接在资源管理器里右键操作体验一气呵成。对 Windows 用户来说这是个很难戒掉的爽点。1.2 为何与码云特别搭码云就是 Gitee 的中文品牌名国内开发者用得非常多。它和 TortoiseGit 搭伙可以说是省心组合。先说码云吸引我的点国内服务器访问速度快中文界面没有阅读压力最关键是私有仓库免费。个人项目不想公开、公司内部不想买服务私有库一建push 上去就完事。这一点对独立开发者和小团队特别友好我在上面存了一堆平时写的脚本和练手项目费用为零。TortoiseGit 这边不挑食。它面对的是一个标准 Git 远程仓库SSH 克隆、推送、分支管理这些动作对码云和其他平台完全通用。你在这里学会的操作换到别家平台一样用。所以用码云当宿主环境来练小乌龟一点不会白学。顺带说一句码云网页端自己也提供了一些在线编辑、项目文档功能但日常改代码还是本地顺手。本地用小乌龟管理版本码云网页用来做备份和协作两边各有分工具体怎么配合我会在后面展开讲。1.3 安装前的最后一道准备Git 本体在动小乌龟之前必须先装一个东西Git for Windows。很多人容易忽略这一步直接把 TortoiseGit 装上打开发现右键菜单没有反应或者提示找不到git.exe。因为小乌龟只是个壳壳里得先有引擎。Git for Windows 是官方出的 Windows 版 Git装好之后小乌龟才能调用它。装 Git for Windows 的时候大部分选项默认即可但有一个地方要注意PATH 环境变量那个环节默认选的是中间项“Git from the command line and also from 3rd-party software”这个选项的意思是不仅命令行能用 Git第三方软件比如小乌龟也能找到它。千万别选第一项“Use Git from Git Bash only”否则小乌龟可能加载不到 Git。装完之后打开 cmd 敲一下git --version能看到版本号就说明 Git 本体准备好了可以开始装小乌龟了。提示安装顺序别反。先装 Git for Windows再装 TortoiseGit否则可能出现右键菜单缺失或无法克隆的问题。2. 小乌龟的完整安装流程版本、语言包与右键菜单2.1 第一步装好 Git for WindowsGit for Windows 的下载地址就不贴了直接去官网找区分 64 位和 32 位。现在绝大多数电脑都是 64 位选 64-bit 版本就行。双击安装后一路 Next到 PATH 选项时留意一下选第二项其他的默认到底。有些人会遇到一个问题安装完 Git 后右键菜单里已经出现“Git Bash Here”和“Git GUI Here”这就是正常的。这两个菜单位于让命令行走小乌龟装好后会在同一个右键菜单里加入自己的项目。装完 Git 后别忘了配置一下身份信息打开 Git Bash 执行git config --global user.name 你的名字 git config --global user.email 你的邮箱这个身份信息会写进每次提交里码云仓库的提交记录会显示它。如果没配提交时小乌龟可能会让你在弹窗里补也行但提前配好省事。2.2 第二步安装 TortoiseGit 主程序从官网下载 TortoiseGit 安装包同样注意位数要和系统匹配。双击安装走到选择 SSH client 的环节时这里是个容易踩坑的地方。安装向导会给出两个选项TortoisePlink基于 PuTTY和 OpenSSHGit 自带的。界面上可能默认选的是 TortoisePlink我的建议是改选 OpenSSH。原因后面细说一句话概括OpenSSH 生成的密钥格式和码云、GitHub 等平台兼容性更好操作少一个转换步骤省心。组件部分建议全选包括右键菜单、图标覆盖、文件关联这些。图标覆盖很有用它能让你从文件图标上直接看出哪些文件改过、哪些没改动。装完之后如果提示重启或注销照做就好偷懒不重启大概率会遇到右键菜单不出现的情况。装完后确认的方式很简单在任意文件夹空白处点右键菜单里出现“Git Clone...”和“TortoiseGit”就说明外壳装好了。这时候你在仓库文件夹里能看到绿色的对勾图标就是 TotoiseGit 生效的标志。2.3 第三步中文语言包与右键菜单汉化小乌龟默认是英文界面对英文不好的同学不太友好好在官方有语言包。下载语言包时有个铁律语言包版本号必须和 TortoiseGit 主程序版本号完全一致。比如主程序装的是 2.15.0语言包也必须是 2.15.0差一个小版本都可能失效。装完后打开任意文件夹右键 → TortoiseGit → Settings在 General 标签页里找到 Language 下拉菜单选“中文(简体)”然后点应用。如果界面没有立即变化注销或者重启资源管理器就行。汉化之后右键菜单里那些英文就全变中文了“Git Commit”变成“Git 提交”“Git Push”变成“Git 推送”。看懂中文菜单之后再去对照英文术语理解 Git 概念会容易不少。有一点要提醒语言包只是界面翻译不改变操作逻辑。你在中文版里看到的“暂存更改”对应的英文是 Stash跟平时说的“暂存区index”完全是两个概念后面讲分支切换的时候我会特别强调这个区别。3. 让码云认账的 SSH 配置一劳永逸的连接方案3.1 HTTPS 与 SSH 之争我为什么劝你用 SSH连接码云仓库有两种地址HTTPS 和 SSH。码云仓库首页的“克隆/下载”按钮旁边会给你两个链接HTTPShttps://gitee.com/用户名/仓库名.gitSSHgitgitee.com:用户名/仓库名.git用 HTTPS 克隆项目每次 push 都要输入码云的用户名和密码虽然可以勾选“记住密码”但依然有输入成本。我看过太多人在推送失败后反复输密码最后发现是码云密码改了或者远端地址输错的案例。用 SSH 就完全不一样了。SSH 是一对密钥一把公钥交给码云一把私钥留在电脑里。配对成功之后克隆、拉取、推送全部免密而且加密通道比普通 HTTPS 更安全。配置一次之后这台电脑访问码云就再也不用输密码可以说是一劳永逸。对比项HTTPSSSH首次配置不需要配置克隆时输账号密码需要生成密钥、后台添加公钥日常推送每次输密码或系统记住配置后全程免密安全性账号密码有泄露风险密钥对机制私钥不出本机平台通用各平台地址格式不同git 开头的地址格式各大平台统一所以我的建议很直接做码云项目老实配 SSH前面多花三分钟后面省三年事。3.2 生成 SSH 密钥对的操作细节生成密钥的方式取决于你安装小乌龟时选的 SSH client。如果按我前面说的选了 OpenSSH直接用 Git Bash 来生成打开 Git Bash 输入ssh-keygen -t rsa -b 4096 -C 你的邮箱然后一路回车。它会问你保存路径默认在C:\Users\你的用户名\.ssh\id_rsa直接回车就行。后面再问要不要设置 passphrase可以留空也可以设一个密码保护私钥。留空的话以后免密最彻底但意味着拿到你私钥的人也能免密用你的身份自己权衡。生成完成后用记事本打开C:\Users\你的用户名\.ssh\id_rsa.pub把里面那串以ssh-rsa开头的内容全部复制。.pub后缀是公钥可以给别人看不带后缀的id_rsa是私钥打死都不能给任何人。注意公钥是贴在码云后台的私钥永远留在自己电脑里。任何一个要你私钥、要你把 id_rsa 文件发给他的“客服”“同事”都是骗子。3.3 把公钥交给码云后台登录码云网站点右上角头像 → 设置 → 安全设置 → SSH 公钥。页面里有个“公钥”输入框和“标题”输入框把刚才复制的公钥粘贴进去标题随便起建议写成设备名比如“办公室电脑”或者“我的笔记本”。这样以后电脑多了后台看起来也清楚。添加成功后码云会要求你验证一次。回到 Git Bash 执行ssh -T gitgitee.com如果是第一次连接会提示确认主机指纹输入 yes 回车。看到 “Hi 用户名! Youve successfully authenticated, but Gitee does not provide shell access.” 这样的回显就说明码云已经认账了。这一步是很多人卡住的地方。如果提示 Permission denied大概率是公钥没粘贴完整或者粘贴的时候多了空格、换行。重新复制一遍检查首尾再试一次。3.4 客户端密钥指向与常见连接报错密钥生成好了码云后台也认识了最后一步是在 TortoiseGit 里确认客户端能找到这把私钥。打开仓库或任意文件夹右键 → TortoiseGit → Settings → Git → Remote。这里会显示远程仓库列表。选中 origin 远端下面有“Putty Key”和“URL”等字段。如果安装时选的是 OpenSSHTortoiseGit 一般会自动读取默认位置~/.ssh/id_rsa直接留空即可。如果密钥放在了自定义位置这里需要手动指定私钥路径。日常使用中我遇到过几类连接报错这里总结一下Permission denied (publickey)码云后台没有匹配的公钥。去后台检查有没有粘贴对、粘贴全。Could not open a connection to your authentication agentssh-agent 没启动。在 Git Bash 里执行eval $(ssh-agent) ssh-add ~/.ssh/id_rsa。Host key verification failed本地 known_hosts 缓存问题。执行ssh-keygen -R gitee.com清掉旧记录再连一次。克隆时报错“git did not exit cleanly”多半是 PATH 配置有问题回到 Git for Windows 的安装选项检查。这些坑我几乎都踩过一遍大部分是密钥或路径问题按着顺序排查都能解决。4. 日常操作四件套克隆、提交、推送、拉取4.1 克隆码云仓库到本地连接打通之后第一步就是把码云上的仓库复制到本地这个过程叫克隆Clone。在码云仓库主页点“克隆/下载”复制 SSH 地址。然后在本地想要放置项目的目录里比如D:\projects在空白处点右键选择“Git Clone...”。弹窗里把 SSH 地址粘贴到 URL 输入框Directory 一栏选择要保存的文件夹名称点击 OK。小乌龟会弹出一个黑色的进度窗口显示类似Receiving objects的下载过程。等它跑完窗口自动关闭在你选择的目录下就能看到一个带绿色对勾图标的项目文件夹。绿色对勾表示本地文件和远程仓库同步没有改动。克隆时还有一个小细节如果仓库里有子模块submodule需要在克隆弹窗勾选“Recursive”否则子模块目录会是空的。这个看项目需求很多人一时用不到但知道了就能少踩一次坑。4.2 提交小乌龟最核心的动作你改动了项目里的代码文件会发现文件夹图标从绿色对勾变成红色感叹号这就是 TortoiseGit 的图标覆盖在提示你有改动。在项目文件夹里点右键选择“Git 提交”会打开提交窗口。窗口分成三块上半部分是提交信息输入框中间是文件变更列表下方是所选文件的差异预览。提交信息那栏要认真写我见过太多人提交信息写“1”“2”“3”这种无意义内容过段时间回头看日志根本不知道当时改了什么。写提交信息不需要长篇大论但至少要说清楚这次改动做什么。比如“修复登录接口返回 500 错误”就比“fix”有价值得多。文件列表里每一项前面有复选框默认全选。如果有几个文件不想一起提交可以取消勾选。双击文件下面会显示这个文件具体改动了哪几行绿色是新增、红色是删除一目了然。确认无误后点“提交”按钮这次改动就记录到本地仓库了。请一定记住提交是本地操作不会上传到码云。只有 push 之后远端仓库才会有这条提交记录。很多新手以为 commit 了码云就有备份了然后电脑硬盘一坏哭都来不及。4.3 推送把本地提交送上码云提交完成后本地的版本库里已经有新记录了接下来要把这些记录推送到码云。在项目文件夹里右键选择“Git 推送”弹窗里选好远端一般是 origin和分支一般是 master 或 main点确定。推送窗口会滚动显示进度最后出现类似这样的输出To gitgitee.com:用户名/仓库名.git abc1234..def5678 main - main这就说明推送成功了打开码云网页刷新一下就能看到提交记录和最新代码。推送最常见的失败场景是“远端有新提交被拒绝了”。原因是别人或者你在另一台电脑上先推了代码码云仓库的进度领先于你。这时候正确的做法是先拉取Pull远端变更再推送而不是强推。强推会把远端新的提交覆盖掉团队协作时属于重大事故按钮在哪、什么时候可以用后面回滚部分会详细说。4.4 拉取与忽略清单保持同步的日常拉取是把码云上的最新改动下载到本地。项目文件夹右键选择“Git 拉取”或者“Git Pull”小乌龟会弹窗让你选拉取方式和分支。先解释两个概念Fetch 和 Pull。Fetch 只是把远端的最新提交下载到一个叫“远程跟踪分支”的临时区域不改变你的工作区代码Pull 会在 Fetch 之后把远端分支合并到当前分支工作区的代码会随之更新。小乌龟的“Git Pull”默认帮你完成 Fetch Merge 两步日常用 Pull 就够了。Pull 弹窗里有个“合并类型”选项一个是“Merge”合并提交一个是“Rebase”变基。新手建议无脑选 Merge原理简单把远端代码和本地代码合并成一个新提交历史会有分叉汇合点但安全。Rebase 能保持提交历史整洁线性但对冲突处理要求高用不好会搞乱历史。我目前的习惯是个人项目用 Rebase 清爽一些团队大分支用 Merge 稳妥你按自己情况来。再说 .gitignore。克隆一个项目后工作区里往往有node_modules、bin、out这种自动生成、不该进仓库的目录。如果不忽略它们每次提交都会提示一堆无关文件特别烦。小乌龟的处理方式很贴心在项目里有这些目录或文件上右键 → TortoiseGit → “添加忽略清单”选择“忽略此文件”或“忽略此目录”小乌龟会自动生成.gitignore并更新然后提示你提交它。码云网页端创建仓库时也有 .gitignore 模板选择新建仓库时选好模板可以省不少事。但项目跑起来了才想起这个也不用慌本地小乌龟补上就行。5. 分支的创建、切换与合并多线开发的核心场景5.1 为什么要为功能开分支提到 Git 就绕不开分支。一个项目的主干叫master或者main它应该是稳定的能随时拿来编译、发布。如果你在上面直接改来改去改挂了就全盘崩溃。分支的用途就是在主干旁边拉一条“试验线”你在里面开发新功能、大胆重构改坏了不心疼改好了合回主干。分支的本质其实非常朴素它就是一个会移动的指针指向某一次提交。你创建分支就是在当前提交位置放了一个新指针切换分支就是把当前指针挪过去。理解这一点后面遇到“切换分支后文件怎么变了”这种疑问就不会慌了。小乌龟里创建分支有两种入口一是右键 → TortoiseGit → 创建分支二是在 Show Log 日志窗口里右键某个提交 → 创建分支。日常推荐用第一种更直观。5.2 创建分支与切换分支的实操在项目文件夹里右键 → TortoiseGit → 创建分支弹窗里填写分支名比如feature-login。下面有一个“基于”选项默认是 HEAD当前所在位置你也可以选某个提交记录、标签来当新分支起点。最下方有个复选框“切换到新分支”如果勾上创建完成后会自动切过去不勾的话只是建了分支你还在原来的分支上。切换分支的操作是右键 → Switch/Checkout中文版叫“切换/检出”。弹窗里会列出所有本地和远端分支选中一个点确定即可。切换本质是把工作区的文件换成分支对应的快照。热词里有“tortoisegit 切换分支”这个搜索说明不少人在这里卡住过。切换分支其实没有任何神秘之处选分支确认文件就变了。你之前在这个分支上看到的文件可能在另一个分支上根本不存在这是正常现象因为每个分支就是独立的历史线。5.3 切换分支的那些坑未提交改动与 Stash切换分支最大的坑是带着未提交的改动硬切。假设你在 A 分支改了文件还没提交直接切到 B 分支。如果 B 分支里这个文件已经被别人改过了或者 B 分支压根没这个文件Git 就会陷入两难你工作区的改动往哪儿放TortoiseGit 通常会弹窗警告提示某些本地改动会被切换覆盖。这时候有三个选择取消切换、保留改动继续、丢弃改动。新手最怕的就是手一抖选了“丢弃”一上午的修改直接清零。所以我给自己定了个规矩切换分支前先把当前改动处理干净。处理方式有两个分支路。最简单的是提交掉写个提交信息下次想改再改另一个是暂存当前进度用的就是 Stash 功能。右键 → TortoiseGit → “暂存更改”并填写消息小乌龟会把你的改动打包存到一边工作区恢复干净然后你可以安心切分支。想恢复这些改动时再右键 → TortoiseGit → “暂存更改” → “弹出/恢复”即可。注意这里有个术语陷阱中文版把 Stash 翻译成“暂存更改”很容易和文件列表里的“暂存区Staging Area”弄混。暂存区是git add之后存放文件快照的地方而 Stash 是临时存放、稍后恢复的一套机制。你只要记住Stash 操作的对象是“当前所有未提交改动”跟add没关系。5.4 合并分支与查看分支图改完了、测好了要把功能分支合回主干。先切到目标分支比如切到main然后右键 → 合并选择要合并进来的分支比如feature-login点确定。合并的结果有两种情况。如果功能分支是从主干直接拉出去的期间主干没有任何新提交Git 会直接做“快进合并”Fast-forward把主干的指针直接跳到功能分支的提交位置不会产生新的合并提交。如果主干在合并前又有了新提交Git 会把两边的改动拉在一起生成一个新的“合并提交”这时就需要你写一条合并信息。合并完成后按照前面讲过的流程推送到码云分支就合完了。小乌龟的日志窗口Show Log是我最常用的工具。右键 → TortoiseGit → 显示日志窗口上半部分是所有提交记录列表左侧会根据分支归属显示不同的颜色节点能清楚看出哪条线是主干、哪条线是分支什么时候分的叉、什么时候合的流。这个图对理解 Git 内部逻辑帮助极大比背一百条命令都有用。6. cherry-pick、冲突解决与代码回滚进阶应急三板斧6.1 cherry-pick把某个提交单独搬过来合并是把整个分支搬过来那如果我只想要某个分支上的某一次提交怎么办这就要用 cherry-pick翻译过来就是“摘樱桃”。经典场景是这样的线上版本出了 bug你在main分支上紧急修复了一行提交记录是commit 8f3a2c1。然后你发现dev开发分支其实也继承了这个问题但dev上还有很多你不想带过来的半成品功能。这时候你不想把main整个合并过去只想把这个修复搬过去cherry-pick 就是干这个的。小乌龟的操作很简单右键 → 显示日志在提交列表里找到目标提交右键 → Cherry Pick。小乌龟会把这个提交的改动应用到你当前所在的分支弹窗会让你确认是否生成一个新的提交。整个过程不需要切分支你在dev上直接就能摘main的提交。有一点必须知道cherry-pick 之后产生的新提交内容一样但提交哈希值SHA是全新的它和原来的提交没有继承关系。所以不要指望通过某个命令去追溯“这个提交是从哪摘来的”历史记录里看不出来的。还有如果摘的提交涉及的文件在当前分支已经被改动过也可能产生冲突处理方式和正常冲突一样。6.2 冲突现场合并出错时怎么办冲突是 Git 使用中绕不过去的坎但真没那么可怕。所谓冲突就是两边的代码都改了同一个文件的同一个区域Git 不知道以谁为准只能把人喊过来手动裁决。冲突发生时文件的图标会变成黄色感叹号。打开冲突文件你会看到类似这样的内容 HEAD 你当前分支的代码 对方分支的代码 feature-login HEAD和之间是当前分支的内容到之间是对方分支的内容。你需要根据业务逻辑把这段区域改成你想要的样子然后把这些标记行全部删掉。小乌龟对处理冲突做了不少人性化设计。在冲突文件上右键 → “编辑冲突”会打开一个冲突编辑器左边是当前版本、右边是对方版本、中间是合并结果。你可以手动选择“使用我的”或“使用他们的”也可以一行一行手动调整。改完之后右键文件 → “解决冲突”图标变回绿色然后正常提交。如果项目很复杂推荐配置第三方合并工具。设置路径在TortoiseGit → Settings → 差异查看器 → 合并工具可以选 Beyond Compare、KDiff3、WinMerge 这些。可视化的三栏对比比小乌龟自带的编辑器好用很多尤其是大段代码冲突时效率完全不是一个级别。提示冲突不是错误也不是谁写崩了它只是 Git 在告诉你“这个位置两边都动了需要你决策”。带着这个心态去处理冲突你会淡定很多。6.3 代码回滚的三板斧Revert、Reset 与 Force Push人总会有手滑的时候提交了不该提交的代码或者想回到某个历史版本。小乌龟给了几套回滚方案用错场景真的会出事故我把它们的区别捋清楚。第一种是Revert还原。在显示日志窗口里选中一个提交右键 → 还原小乌龟会生成一个新提交这个提交把你选中的那次改动全部反着做一遍相当于“撤销那次改动”。关键点Revert 不会删除历史只是追加一个反向提交历史线是完整的、安全的。已经推送到码云的提交推荐用 Revert 回退大家拉取后自动同步不会出乱子。第二种是Reset重置。右键 → TortoiseGit → 重置到...弹窗会让你选择重置模式和目标版本。重置模式有三个模式作用风险Soft分支指针回退但把改动留在暂存区低改动可找回Mixed分支指针回退改动留在工作区低改动可找回Hard分支指针回退改动全部丢弃高不可找回Reset 的威力在于直接把分支指针往回拨但它会改变本地提交历史。如果这些提交已经推送到码云了你 reset 之后本地和远端就不一致想要让远端也变回去就得强推。强推就是 Push 弹窗里勾上“强制推送”Force或者选择 force with lease。它会把码云上的历史覆盖成你本地的状态。团队项目里强推等于把别人的提交历史全部抹掉这是灾难级别的操作。我的铁律是强推之前必须和组里所有人打招呼并且做好全量备份。实际工作中我强烈建议能用 Revert 就别用 Reset Hard用 Reset Hard 之前先备份好整个项目文件夹。回滚操作十次里有九次可以用 Revert 平稳解决剩下那一次再用 Reset也别慌Git 没那么容易把数据彻底毁掉的。6.4 码云网页端与本地小乌龟的分工既然主打码云最后说说网页端和本地客户端的配合。小乌龟擅长的是本地仓库的细粒度操作改代码、看 diff、做分支合并、处理冲突这些在本地用小乌龟效率极高。码云网页端则承担协作和发布发起合并请求Pull Request、代码评审、提交 Issue、管理 Wiki、部署 Pages 页面。一套比较顺的工作流是在网页端创建 Issue → 本地基于main拉出功能分支开发 → 提交推送 → 到网页端发起 Pull Request邀请同事评审 → 评审通过后网页端合并到主干 → 本地切回main用小乌龟拉取更新。这样团队的每个动作都有迹可循本地的地盘归小乌龟管远端的协作归码云管。码云有些私有仓库免费、访问速度快小乌龟把本地这摊事做得足够安静可靠。两者一配合个人项目的代码备份、团队项目的协作流程都能在一套工具链里跑顺。从当前的状态看我自己日常八成操作都交给了小乌龟真要说有什么秘诀其实就一条把小乌龟当成你和 Git 之间的翻译官遇到不懂的术语就去 Show Log 和提交窗口里看实际效果看多了自然就通了。如果你以前用的是 SVN 那套右键交互小乌龟会让你有种回老家的亲切感。等将来真要写脚本、跑自动化流水线了再回来补命令行也来得及那时候你会发现图形界面帮你建立的这套心智模型学命令行反而会快得多。
返回列表