Используя ES2017, вы должны иметь это как объявление функции
async function foo() {
var response = await $.ajax({url: '...'})
return response;
}
и выполнить его следующим образом.
(async function() {
try {
var result = await foo()
console.log(result)
} catch (e) {}
})()
Или синтаксис Promise
foo().then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
Этот сценарий не является чем-то необычным.
Ключевым моментом здесь является то, что объединенные ветки различны: ветвь удаленного репозитория develop
объединяется в локальную (рабочую) develop
среду разработчика.
В локальном репозитории разработчика есть две различные ветви:
develop
= ветка, в которой он / она сейчас работает. Новые коммиты идут здесь. origin/develop
= Это, по сути, снимок, который текущий репозиторий содержит в себе состояние ветки develop
на удаленном сервере. Когда вы делаете fetch
или pull
и обновляете локальные изменения после успешного push
, он обновляется с помощью удаленных изменений. Теперь, когда вы делаете git pull
происходят две вещи. Это связано с тем, что git pull
по существу является псевдонимом для других двух операций git: fetch
и merge
:
fetch
- выводит все новые коммиты (если есть) из удаленного репозитория к локальной ветви origin/develop
. merge
- принимает новые коммиты и применяет их к локальной работе develop branch
. Это может произойти одним из двух способов: если локальная рабочая ветвь не содержит расходящейся истории (новые коммиты, о которых не знает пульт), тогда она просто продвигает указатель ветки develop
вперед, делает это, указывая на последнюю зафиксировать в origin/develop
. Это известно как ускоренное слияние . если у разработчика есть свои новые собственные коммиты, которые не присутствуют в удаленном репо и, следовательно, не в ветви origin/develop
, тогда выполняется регулярное слияние, что означает, что существует новая фиксация, содержащая изменения с обеих ветвей , По умолчанию git присваивает такие сообщения таким коммитам: Merge branch 'develop' of https://bitbucket.org/abc/xyz into develop
. Итак, сценарий довольно распространенный.
Теперь, если это происходит очень часто, и вам не нравится видеть очень сложные графики истории фиксации, содержащие фиксации как мы говорим, попробуйте изучить , используя rebase
вместо merge .
Вы можете сделать это двумя способами (при получении изменений с удаленного сервера) :
git fetch; git rebase
git pull --rebase
Если вы хотите избежать этого типа слияния перед вытаскиванием, например:
git stash
git pull
git stash pop
Я получил сообщение того же типа. Merge branch 'feature/customfeature' of https://mylocalrepo.com/project.git into develop
, и он ничего не сломал, но не паникуйте. Это только объединение ветки удаленного развития в вашу локальную ветвь развития. До тех пор, пока не возникнут конфликты, вы должны быть хорошими, чтобы пойти :)
У владельца были некоторые коммиты на то, что они не толкали, затем бежали git pull
и извлекали / сливались в новые коммиты от разработки, которые были в удаленном репо.