Я работаю в филиале под названием blaBla. master
получает тонну от других. Чтобы обновить blaBla с помощью master, я часто использую git pull master и объединяю его в blaBla. Но это захламляет мою ветку с тонны коммитов. Я хочу объединить все совершает то, что произошло с мастером в один, а затем объединить его в мою ветку. Поэтому, когда я делаю git log
, я вижу только коммиты, принадлежащие этой ветке, и те, которые являются единственными слияниями. Больше ничегоGit коммит комет до слияния
ответ
Я хочу объединить все новые коммиты, которые произошли в master, в один, а затем объединить его в мою ветку.
Вы действительно не хотите этого делать. Единственные разумные варианты для приведения изменений из master
в полнометражной отрасль:
ли нормальный
git merge master
без раздавливания его совершающего, так что Git может сказать, который совершает свой художественный филиал имеет общего сmaster
(в противном случае вы будете вероятно, страдают от многочисленных конфликтов слияния). В противном случае все новые изменения в вашем сжатом объединении будут казаться, что они были частью вашей новой функции - нехорошо.Сделайте
git rebase master
, чтобы переделать изменения вашей ветви в верхней части отmaster
. Это мой предпочтительный рабочий процесс, поскольку он структурирует ваши изменения как «изменения сmaster
», независимо от того, с чего вы начали работать, но он связан со всеми обычными рисками перезаписи истории (например, общайтесь очень внимательно, если вы собираетесьgit push --force
ветвь, от которой зависят другие).
Update, чтобы отразить принятый ответ: Или изменить, как вы визуализируя фиксации. git log --first-parent
скроет коммиты, которые были объединены в текущую ветку. Хотя обычно используется для визуализации master
(сгенерированные ветви признака), он также будет работать для исключения master
коммитов, которые были объединены в ветвь функции.
Кажется, есть несколько способов сделать это, но это может привести к тому, что ваши изменения станут намного сложнее, если вы делаете это только локально. Git действительно не нравится история переписывается на всех
Как вы уже упоминали, история изменения - это большой нет-нет. Я не хочу изменять мастер. Просто соедините свои коммиты с целью слияния с моей веткой и ничего не трогайте. Возможно, это больше похоже на визуализацию git log, чем на самом деле сочетание коммитов. Поэтому, когда вы делаете 'git log', вы видите только мои коммиты, события с одним объединением и соответствующие исправления для конфликтов слияния. никакие другие тысячи попыток увидеть –
- 1. От ртутного до git - слияния?
- 2. Git: как вернуться до слияния
- 3. Как я могу разрешить коммит git merit для овладения, но предотвратить коммит не слияния?
- 4. необходимо изменить первый коммит или добавить новый коммит до него
- 5. Как пропустить коммит в git?
- 6. Как восстановить комманду слияния после переустановки на тот же коммит?
- 7. git rebase <SHA1>, похоже, не сквош комет
- 8. как отменить коммит в Git
- 9. делает последний коммит мастер (GIT)
- 10. Удалить коммит на удаленном git
- 11. Git: см. Мой последний коммит
- 12. Git слияние подвеций до слияния с мастером
- 13. Git rebase развивается до слияния для разработки?
- 14. Git сравнить до слияния 2 ветки
- 15. Изменение сообщения Git, сделанного до слияния
- 16. Удалить коммит до определенного фиксации
- 17. Как заставить Jenkins видеть коммит Git merge как изменение?
- 18. Prepend Git коммит с частичным названием ветви
- 19. Git: Confuse после слияния
- 20. Теги хранилища Git слияния
- 21. Откат слияния в Git
- 22. Git: Что филиал коммит возникла из
- 23. Как удалить старый коммит в Git?
- 24. Как восстановить старый коммит с git
- 25. Удалить коммит из главной ветки в Git
- 26. Полностью удалить коммит из удаленного хранилища Git
- 27. Как создать git-коммит только с комментарием?
- 28. Как слить конкретный коммит в Git
- 29. Предотвратите git-коммит, который просто переформатирует пробелы
- 30. получить коммит одним пользователем в GIT
Так в обеих из них я загромождать свою местную ветвь с тысячами фиксаций, которые произошли в мастере. Как я могу отслеживать мои изменения в ветке, которые затем касаются небольшой директории в главном? И если вы совершаете частые слияния после нескольких моментов каждый раз, чтобы прокручивать свой commtis, кажется невыполнимой задачей, если прокрутка тысяч мастеров не будет найдена в ваших филиалах –
Все, что мне нужно, это увидеть мои коммиты, одноединые коммиты и соответствующие исправления для конфликтов слияния ничем иным. Как мне это сделать? –
Один из вариантов заключается в том, чтобы использовать 'git log -first-parent', чтобы посмотреть на вашу ветку - вы увидите« Мастер объединения »в blaBlah (и его разрешения конфликтов), но не коммиты, которые были объединены. Я не понимаю комментарий «cluttering my local branch» в отношении 'rebase' - если вы думаете о ветвях как« изменениях, так как ветвление от «master» (т.е. 'git log master..'), post -rebase 'вы будете продолжать видеть ту же серию коммитов. – dahlbyk