《游戏测试》git培训(下)--项目实战 2

简介: 《游戏测试》git培训(下)--项目实战

四、还原


针对不要的修改,或者拉取的时候报错的情况,这个时候就需要执行还原操作。还原就是丢弃本地工作区内的修改。已经提交缓存区的文件则不能通过还原操作来丢弃。需要一种特别的操作,之后另说。

还原操作可以针对某个文件,或者某个文件夹来操作。操作如下:

点击确定后,该文件git标识变成绿色的勾,表示还原成功。针对文件夹来选择,可以还原整个文件夹下的所有被修改过的文件。

、拉取更新别人的东西

这个操作也是和svn不一样了,svn是在某个目录下就可以只更新某个目录,git不行,git更新是更新整个分支的。以下这点要特别注意!!!git不能通过svn那种先删除本地的东西,然后更新某个目录的方式来更新,这个路子在git是走不通的。只能通过还原的方式来还原自己已经修改的东西,不是直接删除, 在git里几乎不需要执行删除文件的操作,除非真的确定不想要这个文件。并且删除文件也是一种修改,也是需要提交到缓存区,然后推送到远程服务器,才能生效的。

拉取别人东西的时候,如果本地的目录都是绿色的勾,表明没有任何东西被修改,这个时候可以放心拉取。操作之前,先确定自己目前的分支是否正确!操作如下

项目根目录下右击选择TortoiseGit->pull

没意外的情况下,就可以直接拉取成功。如下所示!

剧情定律,当说没有意外的时候,就会发生意外。比如说,拉取的时候遇到这个报错。这个也是日常工作中,策划和美术遇到最头疼的问题,其实解决起来也很简单!

原因是本地工作目录修改了某些文件,但是有协作的同事也修改了,并且比你先一步推送到了远程服务器,一旦拉取下来,就会覆盖你的,所以给出提醒。

针对这种问题,有两种处理方式,

一种是这些提示的文件里没有自己这次修改的。那么全部还原。针对下面的

另一种是这些报错的文件里有自己修改的,则先提交自己修改过的文件,然后再拉取!当然,这个拉取之后很大概率就会发生冲突!

、冲突解决


当本地修改的文件被提交缓存之后,然后再拉取远程仓库的东西到本地,就有可能产生冲突。或者不同分支合并的时候,也可能产生冲突。冲突并不可怕!

冲突只是为了提醒我们这个地方存在不同修改方案,需要人为干预一下。例如下图提示这样就是产生了冲突。

点击确定之后,就可以点击解决来解决冲突!以下就是冲突的文件的列表。

!!!对于策划或者美术人员来说,基本上没有多少选择,只是一个取舍问题。要么选择远程的版本,要么选择自己的版本。上面的就是远程的版本,下面的就是自己缓存区的版本。

对于程序员来说,当然不能随便选择一份就可以,就是要编辑冲突了。

编辑冲突其实就是修改文本文件的意思。可以直接在对比界面直接修改。右击不同的代码块,选择使用某一块。

编辑完成之后,就可以直接标记该文件已解决。而且这个编辑过程可以不一定要在git完成,在另外的代码编辑器里打开文本,编辑完成之后也可以直接标记已解决!所谓的冲突只是提醒,最终的解决也是代码编辑的工作。解决完冲突,就可以把冲突的文件提交上去!

!!!特别注意!冲突编辑完成之后,会出现本地很多不是自己的修改的并且是红色的文件的情况,这个时候,最好只提交自己编辑冲突的文件和之前已经缓存的文件,不要提交不是自己修改的文件,这样非常容易造成代码的覆盖!提交完冲突的文件之后,其他的文件全部还原!再次拉取更新,这样可以保证自己的操作正确!而不是随意提交了不属于自己的文件。


分支合并


分支合并一般是在程序员这边使用较多,策划和美术可以忽略!

记住:分支合并也是针对本地操作的,合并之后,再提交,推送到远程分支!

例如说,现在需要把A分支合并到B分支上,标准操作如下。

1:先切换到A分支,更新到最新的版本

2:然后切换到B分支,更新到最新的版本

3:然后选择合并

4:然后选择需要合并的分支A

然后点击确定,就会合并分支。

!!!合并之后很大可能出现冲突,这个时候就需要解决冲突,解决完冲突之后,所有红色的文件都是需要提交的!不然会漏掉文件!提交完之后再推送到目标分支!就完成了合并分支的操作!!!

版本回退替代方案


版本回退这个操作非常危险,所以一般不需要整个仓库进行版本回退!但是我们可以用一种替代方案,这种方案就是使用导出功能!

1:首先通过查看记录功能打开某个目录的提交记录。

2:找到需要回退的文件的记录,直接导出该文件

然后导出到桌面或者某个其他的地方,这样就得到了原先版本的这个文件,直接用这个文件直接覆盖当前的工作区的对应的文件,然后确认没有问题之后,就可以提交和推送这个文件到远程服务器,达到回滚某个文件的目的!对于策划或者美术这个功能比较适用!!!

以上就是基本的git使用操作指南!!!希望测试同学可以在工作中多多学习,比别人多会一点,就多一份竞争力!!

相关文章
|
6月前
|
存储 Rust 测试技术
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
130 0
|
26天前
|
测试技术
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
本文是关于自动化测试项目实战笔记,主要介绍了如何测试用户注册功能,包括验证码错误、注册成功以及弹框处理的测试步骤和代码实现。
78 2
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
|
26天前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
45 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
26天前
|
人工智能 算法 测试技术
自动化测试项目实战笔记(二):解决验证码识别问题
这篇文章介绍了三种自动化测试中验证码识别的方法:使用Python的pytesseract和PIL模块、利用第三方API如万维易源,以及使用开源的ddddocr库,还提到了一些注意事项,比如如何获取验证码区域的截图。
61 2
|
25天前
|
测试技术 数据安全/隐私保护 Python
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)
本文介绍了使用Selenium进行自动化测试时如何测试用户登录的不同情况,包括账号密码错误、登录成功以及处理登录时出现的弹框,并提供了相应的Python代码实现。
42 0
自动化测试项目实战笔记(四):测试用户登录(账号密码错误,成功,出现弹框等情况)
|
5月前
|
Linux 测试技术 开发工具
CentOS Linux 8使用阿里源(安装jdk11、git测试)
CentOS Linux 8使用阿里源(安装jdk11、git测试)
469 1
|
5月前
|
IDE 前端开发 时序数据库
【Docker项目实战】使用Docker部署speedtest-tracker速度测试追踪器
【6月更文挑战第4天】使用Docker部署speedtest-tracker速度测试追踪器
446 0
|
缓存 Linux 网络安全
《游戏测试》git培训(上)
《游戏测试》git培训(上)
《游戏测试》git培训(上)
|
前端开发
前端项目实战拾壹-pda测试平板打包为何白屏
前端项目实战拾壹-pda测试平板打包为何白屏
109 0
|
缓存 开发工具 数据安全/隐私保护
《游戏测试》git培训(下)--项目实战 1
《游戏测试》git培训(下)--项目实战