Какова цель `dnsmasq` для прослушивания на интерфейсе` 127.0.0.1`?

Этот сценарий не является чем-то необычным.

Ключевым моментом здесь является то, что объединенные ветки различны: ветвь удаленного репозитория 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

2
задан mbaitoff 11 May 2012 в 16:11
поделиться

2 ответа

127.0.0.1 петлевой адрес, это не доступно другими машинами, просто самой машиной. Согласно сообщению http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/ , этот dnsmasq экземпляр существует для улучшения производительности путем попытки нескольких серверов DNS, если Вы являетесь слишком медленными.

4
ответ дан Lekensteyn 22 October 2019 в 14:35
поделиться

Это - сервер DNS, и это присвоило бы IP-адреса машинам, которые запрашивают их от Вашего компьютера. В этом случае это использовалось бы NetworkManager для совместного использования интернет-соединения. Ничто для волнения о :)

-1
ответ дан pietrek 22 October 2019 в 14:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: