Создание конфликта запроса на получение изменений
Неко торые конфликты слияния могут сделать невозможным автоматическое слияние исходного кода. В этом случае вам придется устранить проблему вручную.
Чтобы продемонстрировать, как выполнять слияния при наличии конфликтов, нам сначала нужно создать и отредактировать код в нескольких ветвях, а затем попытаться выполнить слияние.
Для начала нам необходимо воспроизвести ситуацию, в которой возникает конфликт. Мы можем вызвать конфликт, используя оператор равенства ==
для одной ветви 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-func1
и выполните слияние.
![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)