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

图片

基本操作

Git的基本操作有:克隆、切换分支、提交、还原、拉取、推送、解决冲突、合并分支、版本回退替代方案!

一、克隆仓库

图片

然后输入地址,选择本地保存的目录

图片

点击确定,如果这里要输入密码的话,就输入一下密码,稍等片刻,就克隆到整个仓库。

、切换分支

这里强调一点,不同的分支看到的是不同的东西,所以必须要确认项目目前工作的分支是哪个,切到正确的分支才能继续开展工作,否则不但浪费精力,而且会混乱项目的目录。

在项目根目录下右击选择TortoiseGit->switch/checkout,然后再选择相应的分支。然后点击确定。就可以切换到相应的分支。不同的分支可能目录结构都不一样,就看项目的具体情况。

图片

如果是带origin的就是远程的分支,第一次切换的话,会在本地生成同名的本地分支。如果已经有同名本地分支了,则不能勾选create new branch生成新分支的选项。

三、提交

这里就是git相比svn较大区别的地方。以前svn直接提交就可以了,git则是经过两步,第一步,先提交自己的工作内容到本地缓存区。然后才是推送到远程服务器。

提交缓存区的操作如下,可以右击某个文件,或者在某个文件夹内右击操作,选择提交图片,然后选择需要提交到缓存区的文件,这里要注意,只能选择自己修改的文件,不是自己修改的不要随意上传,特别是unity这种工具会修改很多东西,导致一大堆东西需要上传。选择自己要修改的文件,然后填上必要的注释。例如说,修改了XXX系统XXXbug,注释这个一定要制定为项目规范,简洁清晰的注释才方便大家跟进事项和排查问题。

图片

这里注意不要选择提交&推送,因为这样会让你和svn造成混淆,应该是全部自己修改的内容都提交到缓存区之后,然后再执行推送的操作。

图片

注意:一般来说提交是比拉取更优先的,先保存自己的工作成果,以免丢失。而且还有一个很重要的原因,推送不是每次都成功的,如果跨了版本,软件会提示你需要先拉取,然后再推送,这个时候就需要先执行提交到缓存区的操作,然后拉取更新,然后再推送!

四、还原

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

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

图片
图片

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

、拉取更新别人的东西

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

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

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

图片

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

图片

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

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

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

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

、冲突解决

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

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

图片
图片
图片

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

图片

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

图片

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

图片

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

图片

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

图片

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

七、分支合并

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

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

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

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

2:然后切换到B分支,更新到最新的版本3:然后选择合并图片

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

图片

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

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

八、版本回退替代方案

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

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

图片

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

图片

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

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

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/292812.html

联系我们
联系我们
分享本页
返回顶部