Этот сценарий не является чем-то необычным.
Ключевым моментом здесь является то, что объединенные ветки различны: ветвь удаленного репозитория 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
127.0.0.1 петлевой адрес, это не доступно другими машинами, просто самой машиной. Согласно сообщению http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/ , этот dnsmasq
экземпляр существует для улучшения производительности путем попытки нескольких серверов DNS, если Вы являетесь слишком медленными.
Это - сервер DNS, и это присвоило бы IP-адреса машинам, которые запрашивают их от Вашего компьютера. В этом случае это использовалось бы NetworkManager для совместного использования интернет-соединения. Ничто для волнения о :)