Я случайно сделал 10 коммитов на ветке «тестирование», когда я намеревался передать их на ветке «master». Другой фиксатор на ветке «тестирование» - это мусор, поэтому я не хочу объединять его с «мастером». Вместо этого я просто хочу воспроизвести последние 10 коммитов на master.Повтор последнего N git совершает на другой ветке
ответ
- мастер мерзавец фотографии
- мерзавец WhatChanged тестирования
- GIT-вишневый выбор _________
?
Ребаза должна это сделать.
git rebase -p --onto master testing~10 testing
Это скопирует последние десять фиксаций на тестирование, чтобы освоить и сделать, что новое тестирование (старое тестирование будет сирота). Затем вы можете объединить мастер для тестирования в качестве быстрой перемотки вперед.
git checkout master
git merge testing
Используется ответ Рона, прежде чем это было опубликовано. –
Возможно, стоит отметить, что это оставляет тестирование в том же месте, что и хозяин, оставляя «мусор» заработанных сирот. Это может быть или не быть хорошо. Другой возможностью будет git checkout master; git reset - жесткое тестирование; git rebase --onto HEAD @ {1} HEAD ~ 10 –
@CharlesBailey Какой git flog вы намереваетесь попасть туда? – Fredrick
Как сказано в комментариях rebase
-inspired ответ оставляя «мусор» совершает осиротевшего.
Просто используйте простые инструменты:
git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10 # Go back 10 commits (*1)
git checkout master
(* 1) Вы будете только «потерять» коммиты testing
ветви, так как вы будете иметь те коммиты в master
благодаря merge
.
- 1. Сделать «неурожайным» совершает в ветке git
- 2. Как переустановить последний х совершает на другой ветке?
- 3. Git rebase интерактивный последний n совершает
- 4. Как откат последнего n совершает в mercurial
- 5. Как мне задать git, который совершает не на ветке?
- 6. Создание ветки git на другой ветке
- 7. Git совершает переход на новый пульт?
- 8. Git rebase на ветке, которая совершает объединение в сочетании с другой перестановкой
- 9. Тестирование последнего кода на удаленной главной ветке Git перед слиянием
- 10. Посмотреть последнее N на M Git совершает в vimdiff
- 11. Git move совершает переход к другой ветке и делает мастер таким же, как ведущая ветка вверх
- 12. Перемещение толкаемого git совершает переход к другой ветке после того, как другие люди подтолкнули их изменения.
- 13. GIT - Изменения в ветке отражаются в другой ветке
- 14. Неправильно применяется git stash к другой ветке
- 15. , обязующийся к той же ветке с git
- 16. Git (хаб) удалить старые совершает
- 17. Гит заменить между ними совершает с другой ветви совершает
- 18. Git перебазироваться и подписанная совершает
- 19. Публиковать подкаталог в другой ветке с git
- 20. Объединить функции в Git в другой ветке?
- 21. Поиск git совершает для определенного изменения
- 22. Ретроактивно обрабатывать линию Git совершает как ветвь
- 23. экспорт Git/импорт совершает история
- 24. Git ветвление предыдущие совершает
- 25. Git merge совершает выборочно
- 26. Использование Jenkins на ветке git
- 27. Git alias на текущей ветке
- 28. Git отсутствует совершает
- 29. a git tag не на ветке
- 30. Git 'merge', создавая новый checkin, основанный на другой ветке
Только fyi-cherry-pick выполнит только одно коммитирование за раз, поэтому вам придется пройти тест на вишневое пикетирование ~ 9, затем тестирование ~ 8 затем ... тестирование. Вот почему я предпочитаю подход к перестановке, предложенный Талджо ... конечно, результат тот же. На самом деле, если вы делаете rebase в интерактивном режиме, git на самом деле будет использовать вишневый поддон под капотом. –
@PatNotz 'git cherry-pick' в настоящее время может выполнять несколько коммитов за раз (например,' git cherry-pick testing ~ 10..testing'). –
Вы никогда не должны использовать 'cherry-pick'. Прочтите [эту статью] (http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html) для получения дополнительной информации. – Tim