Как избежать слияния коммитов из git pull при нажатии на remote

У меня есть репозиторий и некоторые локальные изменения для фиксации. Перед совершением я вытащил изменения на свой локальный, используя Egit в Eclipse.

Он создает фиксацию слияния, и я отправляю свою фиксацию над ней.

теперь, когда я пытаюсь нажать на origin, он показывает, что он будет толкать мою фиксацию, а также фиксацию слияния. Но в идеале фиксация слияния не должна быть частью удаленного репозитория.

Как избежать этого?

4 ответов


используйте опцию rebase всякий раз, когда вы вытаскиваете из удаленного репозитория. Пожалуйста, выполните следующие действия,

  1. Commit ваши изменения-это создаст новую фиксацию в вашем локальном.
  2. теперь git pull --rebase <remote-name> <branch-name>.
  3. в основном rebase вынимают ваши коммиты, которые вы совершили на текущей головке ветви в качестве патча. Затем он применит все удаленные коммиты поверх головы, а затем применит ваши коммиты поверх нее.
  4. поэтому наилучшей практикой является фиксация изменений затем вытяните удаленные коммиты, используя опцию rebase.

когда у вас есть незафиксированные изменения, вы можете сделать,

git stash
git pull --rebase <remote> <branch>
git stash pop

обычная стратегия состоит в том, чтобы работать на ветке. Когда удаленный мастер изменяется, потяните изменения в master и вместо слияния,rebase филиала.

посмотреть Git Rebase в компании Atlassian.


Вы можете запустить

git config --global branch.autosetuprebase always

чтобы сделать git pull --rebase поведение по умолчанию для git pull.