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