Git合并上的问题

关于Git合并上问题的处理

  在前几天对某个游戏章节的bug修改完成,主程让我把dev_7的内容合并到dev_8上。虽然很少使用Fork,但是还是硬着头皮说行。

  合并前,先将分支切换到dev_8,选择dev_7,左键唤醒菜单,选择‘Merge into dev_8’,随后弹出确认窗口,选择‘Always Create A Merge Commit’,即创建合并消息,点击确认后,观察到分支图并无更新,且无任何报错信息。再切换到Unity里面,发现合并的内容并无变化,由此可确认合并失败。多次尝试后无果,询问另一位主程,他在观察后,问我:“是不是你把dev_7的内容复制下来,单独创建了一个文件夹?”,听到这句话,我大概知道了问题出在哪里了。下面是详解:

  首先按照正常操作来说,应该是对某个文件夹进行创建仓库操作。但是因为当初我不知道如何使用Git,主程为了给我演示创建分支操作,把dev_7的内容复制下来,单独创建了一个文件夹。然后dev_8也单独创建了一个文件夹,导致本地有两个工作区。一般来说,我们无需这样操作,只需要创建分支,在需要时checkout切换分支即可。回到问题,因为本地有两个相同内容的本地仓库,更新一个,另一个却没有更新。所以我的dev_7分支落后服务器16个版本。解决办法是:先将origin dev_7的内容拉取到本地,更新本地dev_7的内容,然后再进行合并操作即可。同时,我们应该在以后的工作中注意,要么只保留一个本地仓库,要么在进行拉取推送操作的时候,两个仓库的内容挨个儿更新。

  回到家,使用Windos版的Fork对自己的实验仓库的master分支进行合并更新的操作时,又发现一个问题,就是无论我怎样进行推送,Fork总是提示我被远程仓库拒绝,在网上查资料后发现原因。是因为远程仓库中的master分支包含有本地master分支没有的内容,所以导致了本地推送不上去。解决办法是:先拉取远程master分支到本地,对本地的master分支进行更新。再次推送,成功。

posted @ 2021-06-05 22:25  军酱不是酱  阅读(121)  评论(0编辑  收藏  举报