四、还原
针对不要的修改,或者拉取的时候报错的情况,这个时候就需要执行还原操作。还原就是丢弃本地工作区内的修改。已经提交缓存区的文件则不能通过还原操作来丢弃。需要一种特别的操作,之后另说。
还原操作可以针对某个文件,或者某个文件夹来操作。操作如下:
点击确定后,该文件git标识变成绿色的勾,表示还原成功。针对文件夹来选择,可以还原整个文件夹下的所有被修改过的文件。
五、拉取更新别人的东西
这个操作也是和svn不一样了,svn是在某个目录下就可以只更新某个目录,git不行,git更新是更新整个分支的。以下这点要特别注意!!!git不能通过svn那种先删除本地的东西,然后更新某个目录的方式来更新,这个路子在git是走不通的。只能通过还原的方式来还原自己已经修改的东西,不是直接删除, 在git里几乎不需要执行删除文件的操作,除非真的确定不想要这个文件。并且删除文件也是一种修改,也是需要提交到缓存区,然后推送到远程服务器,才能生效的。
拉取别人东西的时候,如果本地的目录都是绿色的勾,表明没有任何东西被修改,这个时候可以放心拉取。操作之前,先确定自己目前的分支是否正确!操作如下
项目根目录下右击选择TortoiseGit->pull
没意外的情况下,就可以直接拉取成功。如下所示!
剧情定律,当说没有意外的时候,就会发生意外。比如说,拉取的时候遇到这个报错。这个也是日常工作中,策划和美术遇到最头疼的问题,其实解决起来也很简单!
原因是本地工作目录修改了某些文件,但是有协作的同事也修改了,并且比你先一步推送到了远程服务器,一旦拉取下来,就会覆盖你的,所以给出提醒。
针对这种问题,有两种处理方式,
一种是这些提示的文件里没有自己这次修改的。那么全部还原。针对下面的
另一种是这些报错的文件里有自己修改的,则先提交自己修改过的文件,然后再拉取!当然,这个拉取之后很大概率就会发生冲突!
六、冲突解决
当本地修改的文件被提交缓存之后,然后再拉取远程仓库的东西到本地,就有可能产生冲突。或者不同分支合并的时候,也可能产生冲突。冲突并不可怕!
冲突只是为了提醒我们这个地方存在不同修改方案,需要人为干预一下。例如下图提示这样就是产生了冲突。
点击确定之后,就可以点击解决来解决冲突!以下就是冲突的文件的列表。
!!!对于策划或者美术人员来说,基本上没有多少选择,只是一个取舍问题。要么选择远程的版本,要么选择自己的版本。上面的就是远程的版本,下面的就是自己缓存区的版本。
对于程序员来说,当然不能随便选择一份就可以,就是要编辑冲突了。
编辑冲突其实就是修改文本文件的意思。可以直接在对比界面直接修改。右击不同的代码块,选择使用某一块。
编辑完成之后,就可以直接标记该文件已解决。而且这个编辑过程可以不一定要在git完成,在另外的代码编辑器里打开文本,编辑完成之后也可以直接标记已解决!所谓的冲突只是提醒,最终的解决也是代码编辑的工作。解决完冲突,就可以把冲突的文件提交上去!
!!!特别注意!冲突编辑完成之后,会出现本地很多不是自己的修改的并且是红色的文件的情况,这个时候,最好只提交自己编辑冲突的文件和之前已经缓存的文件,不要提交不是自己修改的文件,这样非常容易造成代码的覆盖!提交完冲突的文件之后,其他的文件全部还原!再次拉取更新,这样可以保证自己的操作正确!而不是随意提交了不属于自己的文件。
七、分支合并
分支合并一般是在程序员这边使用较多,策划和美术可以忽略!
记住:分支合并也是针对本地操作的,合并之后,再提交,推送到远程分支!
例如说,现在需要把A分支合并到B分支上,标准操作如下。
1:先切换到A分支,更新到最新的版本
2:然后切换到B分支,更新到最新的版本
3:然后选择合并
4:然后选择需要合并的分支A
然后点击确定,就会合并分支。
!!!合并之后很大可能出现冲突,这个时候就需要解决冲突,解决完冲突之后,所有红色的文件都是需要提交的!不然会漏掉文件!提交完之后再推送到目标分支!就完成了合并分支的操作!!!
八、版本回退替代方案
版本回退这个操作非常危险,所以一般不需要整个仓库进行版本回退!但是我们可以用一种替代方案,这种方案就是使用导出功能!
1:首先通过查看记录功能打开某个目录的提交记录。
2:找到需要回退的文件的记录,直接导出该文件
然后导出到桌面或者某个其他的地方,这样就得到了原先版本的这个文件,直接用这个文件直接覆盖当前的工作区的对应的文件,然后确认没有问题之后,就可以提交和推送这个文件到远程服务器,达到回滚某个文件的目的!对于策划或者美术这个功能比较适用!!!
以上就是基本的git使用操作指南!!!希望测试同学可以在工作中多多学习,比别人多会一点,就多一份竞争力!!