git(三 版本冲突)

1、执行merge后一直显示merging状态,
当用命令行或vscode执行merge操作时,出现的文件冲突可能不会提示出来让我们选择,需要我们手动的操作,下面是合并冲突的两种情况
1.1、同行代码竞争
当你和另一个程序员修改了某文件的同一行代码,产生的代码冲突,必须用一个新的代码提交来解决这个合并冲突,只有这样,合并才能完成。在webstorm中我们通过选择完提示框中出现的冲突代码后,会发现提交记录中出现


image.png

当用命令行或者vscode时,或者没有提示出冲突代码,我们需要:
(1)打开Git Bash
(2)进入发生代码冲突的本地Git仓库(默认就会进入到当前仓库)
(3)获取受到合并冲突印象的文件列表:git status
如果有冲突,小黑框里会出现冲突的文件
(4)打开编译器查找,查找“<<<<<<<”标记符出现的地方来定位合并冲突发生的位置

<<<<<<< HEAD     //标志冲突发生的位置

(你的代码)
=======     //    分割符号
(另一个人的代码)
>>>>>>> BRANCH-NAME(branch-a)    // 冲突位置结束,另一个人提交的代码是在branch-a对比分支上

(5)删除冲突标记符“<<<<<<<”,“=======”,“>>>>>>>”,并对文件完成你想要的修改
(6)git add .
(7)git commit
(8)分支合并操作,或者将修改推送至Github远程仓库,并在一个pull request中完成合并操作。
1.2、文件删除引起的合并冲突
例如有人编辑了被另一个人删除的文件,你必须决定该文件究竟应该被删除还是保留在项目分支中。
(1)git bash 、git status
(2)决定是删除,还是保留:
删除:git rm 文件名
保留:git add 文件名
(3)git commit
(4)分支合并操作,或者将修改推送至Github远程仓库,并在一个pull request中完成合并操作。

你可能感兴趣的:(git(三 版本冲突))