周末的时候突然发现之前给Pandas官方文档翻译的那部分有格式问题,决定重新修改后再次提交pr。但是在Git一步步到提交pr的过程中,Merge步骤出现了合并冲突的情况,如下图蓝色框住的部分:
于是开始思考,怎么会冲突呢? 后来看了群里的大佬的解释才知道 是我没有一开始fetch自己的仓库和原始仓库同步,所以导致后面合并的时候出现我的仓库有更新,原始仓库也在那段时间有更新,就发生了合并的冲突!现在我们就来解决冲突:可以通过Git来一步步检查冲突的具体信息,首先输入如下命令:
可以看出上面写了存在没有合并的区域,然后还可以看到下面有这么多文件发生了变动没有commit:
最后显示不能合并的就是我们刚刚修改的翻译那部分和之前翻译部分。接着我们继续用下面这个指令来查看每个文件合并的具体情况:
然后我们看到这里出现几个数字,其中0表示“合并成功”,不冲突;不为0的则表示合并冲突了,其中1表示两个用户之前一个共同版本的对应文件内容;2表示当前用户对应的文件版本;3表示合并后的文件对应的远程版本。 如果还是有疑问,可以使用这个命令在git里面查看这三个文件到底哪里不一样(不过不是很推荐这样看,因为你要一直滑动鼠标到翻译的位置才能看到区别,看着很累????):
下面推荐使用VS Code来检查并修改冲突的文件,这个真的是利器!
如上图,当你打开VSCode就会发现他有自动提示,用绿蓝色标出来你冲突的地方,仔细看,向左的箭头表示是之前的文章;中间的双横线表示发生了修改;最下面的向右的箭头就是你修改后上传远程仓库的更改。于是 找到“采用传入的更改” 这个地方,把所有冲突的地方都选择这个选项,就解决了所有的冲突!!!
接着我们再次合并,然后使用前面的命令查看之前的冲突文件情况:
我们就会发现里面的数字已经变成0了,代表合并成功????冲突解决。
现在我们再去自己GitHub的这个项目仓库下面查看最新的commit那里:
就可以提交pr(我用框圈住的这里就是代表没有冲突,可以合并到原始仓库里去):
最后在方框里填上标题和comment(可选项)后提交pr,就等项目负责人通过!
PS: 这里只是小白我的解决办法,肯定还有其他的方法,欢迎大家提出来一起探讨,谢谢????