/ / Чому програма Git Commit, Git Pull, Git Push завжди створює Git Merge? - git, github, злиття

Чому розробники Git Commit, Git Pull, Git Push завжди створюють Git Merge? - git, github, зливаються

У мене є розробник, який продовжує виконувати, і кожен раз, коли він це робить - це філія git merge на філіальну фіксацію; кожного разу. Навіть з власним кодом.

Тобто моя історія виглядає так майже весь час. Іноді один з моїх шести розробників об'єднає філію на гілку; але здебільшого вони просто зобов'язуються. Цей один пристрій завжди має його.

  • Dev Merge філія на гілці
  • Dev Commit
  • Розділ Dev Merge на філію
  • Dev Commit
  • Інше Commit
  • Me Commit
  • Інше Commit
  • Me Commit
  • Me Commit
  • Dev Merge Branch на філію
  • Dev Commit
  • Dev Merge філія на гілці
  • Dev Comm

Він побіг 1,7; зараз 2.0

  • Git commit
  • гіт тягнути
  • git push

? Будь-які ідеї?

Решта у нас прекрасні в терміналі (mac); GH win; GH win powerhell і т.д.

Його дратує, тому що злиття сміття створюють біль, щоб мати можливість git повернути.

Відповіді:

1 для відповіді № 1

Попросіть розробника зробити нові комміти тільки після того, як він зробить тягу.

git Створює об'єднання вступає у дію, лише якщо локальна гілка і верхня гілка відхиляються від загальної точки. Отже, в той час як інші розробники, здається, слідують за цим (наприклад, вони роблять git pull перед тим, як робити будь-які компіляції), розробник, що розглядається, робить локальний об'яв, а потім робить git pullі тому гілки вже розходилися. Отже, git змушений рекурсивно об'єднати зміни, в результаті чого об'єднати зобов'язання прийти в картину.

Інший спосіб уникнути цього - це зробити git fetch у поєднанні з a git rebase організація широка, так що історія зберігається майже лінійно без будь-яких об'єднаних компромісів.