TortoiseGit+码云入门:从安装到分支管理的完整实践指南

发布时间:2026/10/2 2:53:57
TortoiseGit+码云入门:从安装到分支管理的完整实践指南 第一次听到“小乌龟”的时候我以为是讲宠物养殖直到对方发来一个绿色的小图标我才反应过来说的是TortoiseGit。做Windows开发的应该没人不认识这只龟——它是Windows上最老牌、最常用的Git图形客户端右键菜单里点几下就能完成代码的提交、推送、拉取和分支操作。再配上码云Gitee国内访问速度快、私有仓库免费、对新手和中小团队都很友好于是“小乌龟码云”就成了很多人的第一套代码托管组合。这篇东西适合刚接触Git、想在Windows上把代码传到码云的入门者也适合已经装了TortoiseGit但总在SSH和分支上出问题的人。我会从安装开始把配置、克隆、提交、推送、分支、避坑一次讲完。如果你已经玩得很溜可以直接跳到后半段的报错排查看看有没有还没踩过的坑。1. 小乌龟TortoiseGit是什么为什么配码云这么火1.1 图形化Git客户端到底解决了什么问题Git本身是一个命令行工具敲指令管理代码版本git add、git commit、git push、git pull。对天天写命令行的人来说这没什么但大部分Windows用户并不是每天都在终端里过日子尤其是刚接触版本控制的同学面对“暂存区”“工作区”“远程仓库”这一堆概念很容易在第一步就懵。TortoiseGit做的事情就是把这堆命令全部变成鼠标操作。它能把自身集成到Windows资源管理器的右键菜单里你看着谁的图标变了就知道哪个文件被改过、哪个文件是新加的。绿勾代表已提交红色感叹号代表有冲突蓝色加号代表新增文件。这种“用眼睛管理代码状态”的方式对入门者极其友好日常用也足够高效。我见过不少用命令行很溜的老手偶尔切回TortoiseGit反而觉得麻烦这不奇怪。但如果你在Windows下做项目、要跟同事协作、又不想天天背命令小乌龟就是那个“装上就能干活”的工具。1.2 为什么偏偏是TortoiseGit而不是SourceTree或者GitHub Desktop很多人也问过我SourceTree不也挺好吗GitHub Desktop不也很简单吗为什么不直接用VS Code里的Git面板我的看法是这样客户端优点缺点TortoiseGit集成右键菜单、文件状态直观、老牌稳定、轻量界面风格偏传统不如现代客户端美观SourceTree图形化友好、支持多个平台启动慢有时中文版翻译奇怪大仓库会卡GitHub Desktop界面干净、操作极简主要面向GitHub对码云/GitLab支持有限IDE内置GitVS Code等顺手边写边提交处理冲突、SSH配置时细节不够透明TortoiseGit最大的优势在于“不脱离文件管理器”。你不用打开一个专门的应用在文件夹里右击就能完成所有操作。这个设计初看朴素用久了会发现特别顺。尤其是在处理多仓库、多分支的时候文件资源管理器本身就是你浏览代码的地方右键一下就能看状态、看日志、做对比效率非常高。而码云这边服务器在国内克隆和推送的速度比连GitHub稳定不少。对小团队和个人开发者来说私有仓库免费这个点也非常实用。于是“TortoiseGit码云”就成了国内Windows环境下一套非常自然、非常常见的基建组合。2. 安装前的准备环境检查和版本选择2.1 必须先装Git for Windows这步不能省很多人会犯一个错误只装TortoiseGit不装Git本身。TortoiseGit本质上只是Git的一个图形外壳真正干活的是后台的git.exe。没有Git环境小乌龟相当于一个没有引擎的车壳右键菜单照样能弹出来但一执行操作就会报错。所以正确顺序是先去Git官网下载Git for Windows64位系统选64-bit版本安装时一路Next即可但有几个关键选项要留意“Adjusting your PATH environment”建议选“Git from the command line and also from 3rd-party software”这样以后在cmd、PowerShell里也能直接用git命令。“Checkout as-is, commit as-is”按默认来就行。Windows换行符和Linux不同Git会帮你做转换新手不用在这里纠结。安装完成后打开cmd输入git --version能看到版本号就说明Git装好了。2.2 TortoiseGit本体和中文语言包Git装好之后再去TortoiseGit官网下载安装包。注意选64位系统对应的msi文件别下成32位。安装过程没什么特别一直Next就行。装完后建议再下载一个简体中文语言包Language Pack装完在任意文件夹右键 → TortoiseGit → Settings → General里把Language改成“中文(简体)”。顺便提一句如果你们的仓库用到了大文件存储LFSGit for Windows安装时默认会带Git LFS码云平台也支持LFS后面使用的时候在TortoiseGit里右键就能直接管理。这里有一个安装后马上要做的事确认SSH客户端设置。打开Settings → Network找到SSH Client那一栏。TortoiseGit默认可能选的是内置的TortoiseGitPlink也可能是系统OpenSSH。我的建议是直接用OpenSSH路径一般是C:\Windows\System32\OpenSSH\ssh.exe。原因后面讲SSH密钥时会说明简单说就是少一次密钥格式转换的麻烦跟Git、跟码云的兼容性也最好。3. 首次配置与码云仓库的关联3.1 先填用户名和邮箱提交记录才认得出你是谁装好东西之后不要急着克隆仓库先把身份信息配好。既然是图形客户端这个操作比命令行简单任意目录右键 → TortoiseGit → Settings → Git窗口右边就是“全局”配置区域。填入你的名字和邮箱。注意邮箱最好填码云账号绑定的那个邮箱。Git每次提交都会记录author信息码云会拿这个邮箱跟你平台上的账号做匹配。如果邮箱对不上你在码云上就会显示成“未知用户”头像和主页都挂接不上同事看提交记录时也会觉得很奇怪。这个配置写进的是~/.gitconfig文件属于全局配置对所有仓库生效改一次基本上就再也不用动了。3.2 生成SSH密钥并添加到码云这是免密推送的关键配置完身份下一个重头戏是SSH密钥。码云支持两种克隆协议HTTPS和SSH。HTTPS的痛点是每次push都要输用户名密码。虽然Windows凭据管理器会自动缓存但一旦码云密码改过、或者凭据过期push就会突然报Authentication failed不少人被搞到心态崩溃。SSH用的是密钥对认证配好之后长期免密稳定性好很多。所以我的建议很明确能用SSH就SSH。生成密钥的步骤在任意目录右键选择“Git Bash Here”Git安装后自带这个右键菜单。如果没看到也可以直接打开cmd。输入命令ssh-keygen -t rsa -b 4096 -C 你的邮箱example.com一路回车不要额外设置密码设置了密码又会在每次使用时多一步输入新手阶段先跳过。默认情况下密钥会生成在C:\Users\你的用户名\.ssh\目录下一个是私钥id_rsa一个是公钥id_rsa.pub。用记事本打开id_rsa.pub复制里面全部内容。登录码云网页端进入“设置” → “安全设置” → “SSH公钥”把内容粘贴进去标题随便起个能认出来的名字保存。这样就绑定了。可以在终端里验证一下ssh -T gitgitee.com如果看到类似“Hi 你的用户名! Youve successfully authenticated”的信息就说明公钥添加成功。然后回到TortoiseGit的Settings → Git → Remote选中远端名称下方有“OpenSSH密钥”的输入框把私钥路径C:\Users\你的用户名\.ssh\id_rsa填进去。如果你SSH客户端选的是OpenSSH并且Windows的ssh-agent服务已经在运行其实这一步不填也能通过。但手动指定一次更保险能避免后面莫名报错。注意私钥id_rsa千万不要发给别人也不要传上代码仓库它相当于你账号的钥匙泄露了别人就能直接以你的身份拉取私有仓库代码。3.3 克隆码云仓库到本地这些配置做完就可以正式跟码云仓库打交道了。在码云仓库页面点击“克隆/下载”方式选SSH复制形如gitgitee.com:你的用户名/仓库名.git的地址。然后在本地建一个空目录右键 → TortoiseGit → Clone把地址粘贴进URL栏Directory选择本地目录点确定。第一次连接SSH时TortoiseGit会弹出一个确认主机指纹的提示让你确认是否信任这个服务器选择“是”即可。之后就能看到进度条走动仓库代码哗啦啦下来完事了目录里的文件上就会带上小乌龟的小图标。如果克隆下来发现本地是空的、但是网页上明明有文件很大概率是码云仓库创建时勾选了“初始化README”等选项而本地拉的又是一个新分支。别紧张先在仓库里右击 → TortoiseGit → Pull把远端内容拉下来看看。4. 日常使用提交、推送、拉取与分支管理4.1 Commit和Push先提交到本地再推送到码云很多刚上手的同学分不清提交和推送的区别。简单说Commit是把你改动的代码记录到本地Git仓库Push是把这些本地记录上传到码云服务器。两者是两个动作别混在一起。操作很直观改完代码后在文件所在的目录里右键 → Git Commit。弹出的窗口里改动文件会列在列表里每条下面的小复选框代表是否要包含到本次提交中。先右键刚改过的文件选“Diff with HEAD”确认改动是自己想要的再填一个清晰的提交信息。提交信息这一块团队协作时尤其重要。别写“修改”、“更新”这种一眼看不懂的话推荐这样的格式fix(商品列表): 修复搜索框无法回车提交的问题feat(购物车): 新增批量删除功能docs(README): 补充部署说明类型概括为fix修复、feat新功能、docs文档、refactor重构后面跟模块和简述。这样将来翻历史记录时一眼就能知道每次提交做了什么。提交完后再右键 → TortoiseGit → Push。首次推送时对话框里会让你确认推送到的远程分支大多数情况用默认的master或main对应的远程分支会自动创建。4.2 Pull和冲突处理顺手的小习惯能救大命推送之前大部分人会忘了一个重要动作拉取远程最新代码也就是Pull。右键 → TortoiseGit → Pull时对话框里会有“Merge”和“Rebase”两个选项。Merge的意思是把你本地的提交和远程提交合并在一起历史记录会形成一个汇合点保留双方痕迹Rebase则是把你的本地提交“挪”到远程最新提交后面历史看起来是一条直线更干净但会改写本地提交记录多人协作时需要统一约定。我的个人习惯是自己管的小项目用Rebase历史清楚团队协作的项目跟同事约定统一用Merge因为Rebase改写了提交hash如果别人已经基于你的提交拉过代码你rebase后再推上去容易把别人的历史搞乱。Pull之后如果看到文件上出现红色感叹号说明产生了冲突。打开冲突文件里面会有类似这样的标记 HEAD 这段是你本地刚写的代码 这段是远程拉下来的代码 origin/main手动把两段代码整理成最终想要的样子删掉那些、、标记然后保存。关掉编辑器后回到TortoiseGit右键冲突文件 → “Resolved”标记为已解决再Commit提交一次冲突解决记录最后Push推送。这里有个实用小建议每次push之前不管觉得自己代码多独立都先pull一下。我踩过最多的坑就是“改了一天没拉远程推送时冲突遍地”。定期Pull、小型提交、频繁Push是Git协作里最不容易出乱子的节奏。4.3 分支切换与实战流程这是最常用的高频操作分支是Git的核心玩法TortoiseGit把这一套做成了几个非常直观的右键操作。切换分支右键 → TortoiseGit → Switch/Checkout弹出的窗口里会列出本地已有分支。选中目标分支工作区文件会自动更新成那个分支的状态。注意如果当前工作区有未提交的修改切换分支时TortoiseGit会尝试保留这些修改但如果这些改动跟目标分支冲突就会切换失败提示你先提交或先暂存Stash。创建分支右键 → TortoiseGit → Create Branch输入新分支名比如feature/search-product勾选“Switch to new branch”可以直接切过去。这一步的意义很大开发新功能、修bug时都可以在独立分支上进行主分支始终保持在可发布状态。合并分支先在“Switch/Checkout”里切回主分支比如main然后右键 → TortoiseGit → Merge在“Merge from”里选择要合进来的分支比如feature/search-product点确定。合并完后Push即可。举个具体场景产品说要给列表加搜索框。你在main分支上右键 → Create Branch名字叫feature/search-box勾选一键切换。然后在分支上改代码、Commit、Push。等代码review通过后切回mainPull更新Merge把这个功能合进来再Push。这一套流程走顺了才算是真正会协作开发。切换分支这个热词之所以搜索量这么大是因为很多人在这一步栽过跟头。记住一条原则切换分支之前先Commit或Stash保证工作区干净。工作区有未提交的修改时TortoiseGit虽然会尽量保留但冲突发生时你连回到原来分支都费劲得不偿失。5. 常见问题与排查技巧实录5.1 Pull/Push报错no supported authentication methods available这个报错在TortoiseGit用户中提问率极高我自己也遇见过不止一次。表面意思很直接Git发起连接时客户端没有提供任何一种服务器认可的认证方法。常见原因有这么几类仓库remote地址是HTTPS但Windows凭据管理器里没有可用的码云凭据或者凭据过期了。SSH客户端选的是TortoiseGitPlink但私钥没有加载到Pageant仓库的里也没有指定PPK私钥。OpenSSH密钥没有被ssh-agent加载或者Settings里压根没指定私钥路径。排查修复步骤按顺序来右键仓库 → TortoiseGit → Settings → Git → Remote看一眼URL是gitgitee.com:...还是https://gitee.com/...。如果URL是HTTPS建议直接改成SSH格式省得以后反复输入密码。进入Settings → Network确认SSH客户端指向的是C:\Windows\System32\OpenSSH\ssh.exeOpenSSH模式或者TortoiseGit安装目录里的TortoiseGitPlink.exePlink模式。两种模式对应不同的密钥配置方式。在终端里执行ssh -T gitgitee.com看看密钥认证本身通不通。如果不认识你的用户说明公钥没正确添加到码云。确认私钥路径填写正确OpenSSH模式下填C:\Users\你的用户名\.ssh\id_rsaPlink模式下需要把私钥转换成.ppk格式再在Remote配置里指定。我把这套整理成一张速查表贴在自己笔记里也推荐你们存一份报错/现象可能原因处理方式no supported authentication methods availableSSH或HTTPS认证没有可用凭据按上面前5步逐项检查重点看remote地址、SSH客户端、私钥fatal: Authentication failedHTPS账号密码错误或凭据过期在码云改密码后打开控制面板 → 凭据管理器 → Windows凭据删除gitee.com相关旧凭据再重试Permission denied (publickey)公钥没添加或私钥路径不对重新添加码云公钥检查TortoiseGit私钥路径每次Push都要求输密码仓库是HTTPS地址将remote地址改成SSH并按3.2小节配置密钥5.2 私钥到底怎么添加OpenSSH和PuTTY别搞混“TortoiseGit怎么添加私钥”也是高频搜索。这里面最大的混淆点是OpenSSH格式的密钥你执行ssh-keygen生成的那个id_rsa和PuTTY格式的.ppk密钥不是同一个东西。如果你的SSH客户端是TortoiseGitPlink那它只认识.ppk私钥直接填id_rsa路径是无效的。需要先用PuTTYgen工具导入id_rsa然后“Save private key”导出成.ppk再回TortoiseGit的Remote配置里加载。如果是OpenSSH客户端就用原始的id_rsa直接指定路径不用转换。我的建议还是那句话默认用OpenSSH。Windows 10以上系统自带OpenSSHGit for Windows也内置一套码云默认生成的就是OpenSSH公钥格式各方面都省事。用Plink模式除了多一步转换遇到问题网上答案还特别乱新手很容易卡住。5.3 那些不常搜但一定会遇到的坑中文乱码、图标不显示、误提交中文乱码TortoiseGit的日志窗口里中文提交信息变成乱码是很多人遇到过的“玄学”。解决方法是改一下全局配置Settings → Git → 编辑全局.gitconfig在里面加几行[gui] encoding utf-8 [i18n] commitEncoding utf-8 [core] quotepath false保存后重开日志窗口基本就能正常显示中文了。图标不显示有时候明明在Git仓库目录里但文件上就是没有绿色小勾、红色感叹号。常见原因包括图标缓存异常、Windows资源管理器没有刷新。最简单的处理方式是重启任务管理器里的explorer.exe进程或者重启电脑。偶尔还会遇到注册表IconOverlay个数限制导致部分图标丢失这种情况用系统自带的修复工具清理一下图标缓存就好。误提交依赖目录新手最容易犯的一个错误是把node_modules、target、.idea这种目录也提交进仓库。正确姿势是在仓库根目录创建.gitignore文件把不需要版本控制的文件排除掉。示例node_modules/ target/ .idea/ *.log .DS_Store如果这些目录已经被提交进去了光加.gitignore没用需要在Git Bash里执行git rm -r --cached node_modules这类命令把它们从跟踪里移除然后再Commit和Push。合并冲突无法继续有时候代码改着改着合并后发现文件还是红色不知道下一步干嘛。记住流程手动标记Resolved→ Commit → 继续Merge或Push。别以为改完文件就算结束Git不知道你改完了你必须明确告诉它“这个冲突我处理好了”。最后说点个人体会。我给团队新人配环境的固定顺序是装Git → 装TortoiseGit → 填用户名邮箱 → 生成SSH密钥并添加码云 → 克隆仓库 → 提交一次小改动。只要这套流程走完后面基本不会有大问题。小乌龟最大的优点不只是图形化而是所有操作都长在右键菜单里你看着文件状态心里就有底比对着命令行猜来猜去踏实太多。如果你刚开始用码云建议第一周所有操作都用小乌龟做一遍等节奏熟悉了再回头去补命令行也不迟。踩坑中学习最快希望这篇能帮你少走一段弯路。