Я працював над головним відділенням, вносив деякі зміни, а потім приховував їх. Тепер мій майстер в ГОЛАДІ.
Але тепер я хочу отримати ці зміни, але до нової гілки, яка відгалужується від версії HEAD головної гілки.
Як це зробити?
Я працював над головним відділенням, вносив деякі зміни, а потім приховував їх. Тепер мій майстер в ГОЛАДІ.
Але тепер я хочу отримати ці зміни, але до нової гілки, яка відгалужується від версії HEAD головної гілки.
Як це зробити?
Відповіді:
Чи не працює стандартна процедура?
git stash save
git branch xxx HEAD
git checkout xxx
git stash pop
Коротше:
git stash
git checkout -b xxx
git stash pop
git stash save "description"
згаданої раніше команди; а потім я git clear
гілку (для перенесення фактичної робочої директорії), а потім git stash apply stash@{my_desired_stash}
у потрібну гілку (після переходу на ту, що git checkout <branch>
очевидно). Я знаю, що це не справжнє рішення, але це найкраще, що можна зробити з git .
git stash drop
одного разу, коли я здійснив,
Оскільки ви вже приховували свої зміни, все, що вам потрібно, - це один вкладиш:
git stash branch <branchname> [<stash>]
З документів ( https://www.kernel.org/pub/software/scm/git/docs/git-stash.html ):
Створює і перевіряє нову гілку з ім'ям < branchname > , починаючи з фіксації , при якій < тайник > був спочатку створений, застосовує зміни , записані в < збирати > для нового робочого дерева і індекс. Якщо це вдається, а < stash > є посиланням форми stash @ {< revision >}, він викидає < stash >. Якщо не вказано < скриш >, застосовується остання.
Це корисно, якщо гілка, на якій ви запустили git stash save, змінилася настільки, що застосувати git stash не вдалося через конфлікти. Оскільки приховування застосовано поверх комітету, який був HEAD під час запуску git stash, він відновлює початково сховане стан без конфліктів.
Якщо у вас на робочому просторі є якісь зміни, і ви хочете сховати їх у новій гілці, скористайтеся цією командою:
git stash branch branchName
Це зробить:
- нова філія
- перемістити зміни до цієї гілки
- і видалити останню скриньку (як: git stash pop)