TortoiseGit的介绍和使用

  Git是什么,相信大家都很清楚。Git不就是分布式版本控制系统嘛?那你知道TortoiseGit是什么吗?下面我们就介绍一下TortoiseGit它是什么?如何使用?
  TortoiseGit其实是一款开源的git的版本控制系统,也叫海龟git。TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句,像git init、git add、git commit这些语句就通通不用记了。轻松使用鼠标,就可以完成代码的提交和上传。对于使用本地Git的新手来说,TortoiseGit更加简便,更加容易上手。
  Git的流程分为一个大循环和一个小循环。工作区就是我们一开始文件所存在的区域,然后选择添加文件后,文件就进入了暂存区,选择提交文件后,文件就进入了本地仓库,这是一个小循环。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。
在这里插入图片描述
  下面我用TortoiseGit来演示一些我们常用的git操作。
  创建仓库
在这里插入图片描述
  添加、提交文件到本地仓库
  新建一个111.txt文件,点击添加
在这里插入图片描述
  成功添加后,文件变成蓝色字样
在这里插入图片描述
  选择文件,点击提交
在这里插入图片描述
  输入提交的信息后,点击提交
在这里插入图片描述
  提交成功后,文件变成绿色字样
在这里插入图片描述
  当文件被修改后,文件变成红色字样
在这里插入图片描述
  查看、回溯历史版本
  多次提交后,我们可以查看每次提交的信息,并且可以选择版本进行回溯
在这里插入图片描述
  选择需要追溯的版本
在这里插入图片描述
  选择切换版本,把文件还原到之前的版本
在这里插入图片描述
在这里插入图片描述
  还原误删文件
  当把已经提交的文件误删了,可以进行还原
在这里插入图片描述
在这里插入图片描述
  上传、下载文件
在这里插入图片描述
  在这里输入你的仓库的https连接
在这里插入图片描述
  点击推送,可以上传文件;点击拉取,可以下载文件
在这里插入图片描述
  在推送和拉取文件时,可能会出现冲突。什么是冲突呢,就是你远程仓库的代码发生了改变,也就是你本地仓库的代码并不是最新的代码。举个例子,学生项目由A和B共同开发,此时的代码是1版本。A拉取了远程仓库1版本的代码,然后B也拉取了,B修改了代码然后重新上传到远程仓库,此时是2版本。然后A修改了,A想上传代码,发现冲突了,原因是A依靠的是1版本的代码进行了修改,而此时远程仓库的代码是2版本,这样当然会产生冲突。
  解决冲突的办法就是,先把远程仓库的2版本的代码进行拉取,然后TortoiseGit会列出冲突的文件代码,然后自己手动解决、选择自己需要的代码,右键选择解决冲突,最后再重新上传就可以了。

  创建、切换、合并分支
  我们先解释一下分支的概念,一开始的分支是master分支,master分支是创建仓库时自动创建的分支,也是默认分支。Git通过HEAD指针的指向,来查看当前是哪个分支。master指针指向的是master分支,当master分支版本更新的时候,master指针就会后移,指向最新版本。
在这里插入图片描述
  假如我们新创建了一个dev分支,新创建的分支一开始是和当前的master分支的版本内容都是一样的。我们切换到dev分支,HEAD指针也会指向dev分支。
在这里插入图片描述
  不同分支之间的开发,是并行开发,互不影响的。我们也可以对分支进行合并,这叫做合并分支,把两个不同分支合并起来。
在这里插入图片描述
  下面我们来演示一下具体操作。
  创建分支
在这里插入图片描述
在这里插入图片描述
  切换分支
在这里插入图片描述
在这里插入图片描述
  合并分支:选择分支与当前分支合并,合并后的分支为当前分支
在这里插入图片描述
在这里插入图片描述

### 构建任务失败解决方案 当遇到 `Execution failed for task ':app:shrinkReleaseRes'` 错误时,这通常意味着资源压缩过程中出现了问题。此错误可能由多种原因引起,包括但不限于配置不正确、依赖冲突或特定于项目的其他因素。 #### 可能的原因分析 1. **ProGuard 或 R8 配置不当** ProGuard R8 是用于优化混淆代码以及减少 APK 大小的工具。如果这些工具的配置存在问题,可能会导致资源无法正常处理[^1]。 2. **重复资源** 如果项目中有多个模块定义了相同的资源名称,可能导致冲突并引发该错误。检查是否存在重名的 drawable、string 等资源文件[^2]。 3. **第三方库兼容性** 某些第三方库可能与当前使用的 Gradle 插件版本或其他库存在兼容性问题,从而影响到资源打包过程中的行为[^3]。 4. **Gradle 缓存问题** 有时旧缓存数据会干扰新编译的结果,尝试清理本地仓库重新同步项目可以帮助排除此类潜在障碍[^4]。 #### 推荐的操作方法 为了有效解决问题,建议按照以下步骤逐一排查: ```bash # 清理项目构建目录 ./gradlew clean # 删除 .gradle 文件夹下的所有内容以清除缓存 rm -rf ~/.gradle/caches/ ``` 调整 `build.gradle` 中的相关设置也是一个重要环节: ```groovy android { ... buildTypes { release { minifyEnabled true // 是否启用代码缩减 shrinkResources true // 是否开启资源压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 尝试禁用 shrinkResources 来测试是否为资源压缩引起的错误 // shrinkResources false } } } ``` 此外,在 `proguard-rules.pro` 文件内添加必要的保留规则,防止关键类被意外移除: ```text -keep class com.example.yourpackage.** { *; } # 替换为你自己的包路径 -dontwarn androidx.**,com.google.** # 忽略警告信息 ``` 最后,确保所使用的 Android Studio 版本是最新的稳定版,并且已经应用了所有的补丁更新。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值