制造拉取请求的冲突
有些合并冲突可能导致源代码无法自动合并。在这种情况下,您需要手动修复问题。
为了演示如何合并冲突,我们首先需要在多个分支上创建和编辑代码,并尝试合并它们。
首先,我们需要重现发生冲突的情况。我们可以对 sort.js 的一个分支使用相等运算符==
,
对另一个分支使用严格相等运算符===
,从而使冲突发生。
创建一个新的存储库,并将以下源代码推送到主分支。
// sort.js
var number = [19, 3, 81, 1, 24, 21];
console.log(number);
接下来,创建两个分支。
$ git checkout -b add-sort-func2
$ git checkout -b add-sort-func1
然后在add-sort-func1
分支上编辑源代码。
// sort.js
var sortNumber = function (number) {
number.sort(function (a, b) {
if (a == b) {
return 0;
}
return a < b ? -1 : 1;
});
};
var number = [19, 3, 81, 1, 24, 21];
sortNumber(number);
console.log(number);
并提交和推送更改。
$ git add sort.js
$ git commit -m "<commit_message>"
$ git push origin add-sort-func1
`A process of sorting an array has been added`
然后将分支切换到add-sort-func2
。
![Click "Add pull request"](/static/66ef4a55113101bebf6300222d0ebac5/5a190/01.png)
![Click "Merge"](/static/c88dd7a4e3a5b541b537f2bdcc17df78/5a190/02.png)
然后将分支切换到add-sort-func2
。
$ git checkout add-sort-func2
Edit the source code.
// sort.js
var sortNumber = function (number) {
number.sort(function (a, b) {
if (a === b) {
return 0;
}
return a < b ? -1 : 1;
});
};
var number = [19, 3, 81, 1, 24, 21];
sortNumber(number);
console.log(number);
并提交和推送更改。
$ git add sort.js
$ git commit -m "<commit_message>"
$ git push origin add-sort-func2
“A process of sorting an array has been added”
接下来,为add-sort-func2
分支创建拉取请求。
![Click "Add pull request"](/static/6724b5fbbea7bd70a68b5fe45055490b/5a190/03.png)
这就是我们的冲突发生的地方。
![Conflict occurs](/static/22ac4802c739d086532169693b2d90c6/5a190/04.png)
![Conflict occurs](/static/480619a851c643f23e1d520f240bdf8e/5a190/05.png)