Я приступил к работе над новой функцией и после кодирования немного, я решил, что эта функция должна быть на своей ветке.
Как мне перенести незафиксированные изменения в новую ветку и сбросить мой нынешний?
Я хочу сбросить текущей ветви при сохранении существующих работы на новый объект.
Используйте следующую:
git checkout -b <new-branch>
Это оставит вашу текущую ветку как создать и оформить новую ветку и сохранить все ваши изменения. Затем вы можете сделать коммит с:
git add <files>
и совершить в свой новый филиал:
git commit -m "<Brief description of this commit>"
Изменения в рабочем каталоге, а также изменениями устроили в индекс не принадлежат ни к одной ветви. Эти изменения, где эти изменения заканчиваются.
Вы Don'т сброс вашего оригинального ветку, он остается как есть. Последний коммит на в <старый-филиал>
все равно будет то же самое. Поэтому вы кассе -B`, а затем совершить.
В качестве альтернативы:
$ Git в заначке
$ Git в заначке филиал <Нью-филиал> тайник@{0}
Совет: использование клавиши Tab для уменьшения введя имя притон.
Если вы прилагаете совершает на главной ветке, а мы теряем тебя, но теперь вы хотите, чтобы переместить эти коммиты в другой ветке, это быстрый способ:
ГИТ кассе -б <новые-филиал>
филиал -Ф ГИТ <предыдущая-филиал> <ранее фиксацией-ИД>
Например:
филиал -Ф ГИТ мастер происхождения/мастер
или если вы сделали 4 совершает:
филиал -Ф ГИТ мастер Глава~4
Предупреждение: филиал -Ф ГИТ мастер происхождения/мастер
будет reset в information слежения за этой веткой. Так что если вы настроены ветке ваш "мастер" толкать на что-то другое, чем происхождения/мастер
то, что конфигурации будут потеряны.
Предупреждение: есть также опасность, если вы перебазироваться после разветвления, которые должны быть описаны здесь](https://stackoverflow.com/a/36463546/99777). Единственный способ избежать этого-создать новую историю с помощью сливок. Эта ссылка описывает самый безопасный надежный метод. Если у вас есть несохраненные изменения, вы можете хотеть заначка ГИТв начале и
в Git Сташ поп` в конце.
Обычный сценарий заключается в следующем: я забыл создать новую ветку для новой функции, и делает всю работу в старую ветку. Я совершил все "Старый" и работает в ветку master, и я хочу, чтобы мои новые ветки растут от в "Мастер" по. Я не сделал один из моих новых работ. Вот структура филиала: на "Мастер" и->"и Old_feature"и
git stash
git checkout master
git checkout -b "New_branch"
git stash apply
Если вы сделаете это, вы могли бы также Выберите один идентификатор фиксации. Я делаю это часто, когда я начинаю работать в мастер, а затем хотите создать локальную ветку, прежде чем я нажму до моего происхождения/
git cherry-pick <commitID>
Есть много вы можете сделать с вишней-выбор, как говорится здесь, но это может быть случай для вас.
Я использовал @Робин ответ & перечисляя все, что я сделал,
git status <-- review/list uncommitted changes
git stash <-- stash uncommitted changes
git stash branch <new-branch> stash@{1} <-- create a branch from stash
git add . <-- add local changes
git status <-- review the status; ready to commit
git commit -m "local changes ..." <-- commit the changes
git branch --list <-- see list of branches incl the one created above
git status <-- nothing to commit, working tree (new-branch) is clean
git checkout <old-branch> <-- switch back
! Если РЕПО более чем один тайник, вдруг кто-то обратиться в новый филиал:
git stash list
stash@{0}: WIP on ...
stash@{1}: WIP on ...
и проверить индивидуальные заначки по,
git stash show stash@{1}
Или осмотрите все заначки сразу:
git stash list -p
На самом деле, существует очень простой способ сделать это с GitHub Desktop теперь, что я Дон'т считаю, что до.
Все, что вам нужно сделать, это перейти на новую ветку на GitHub рабочего стола и вам будет предложено оставить свои изменения в текущую ветку (который будет спрятан), или внести свои изменения на новую ветку. Просто выберете второй вариант, чтобы принести изменения в новую ветку. Тогда вы можете совершать как обычно.
Это может быть полезно для всех, используя инструменты для работы с Git
Команды
Выключатель ответвления - это внести изменения в новый филиал. Затем вы можете применить изменения.
$ git checkout -b <new-branch>
TortoiseGIT
Щелкните правой кнопкой мыши на свой репозиторий и затем использовать TortoiseGit->переключатель/выезда
Программа
Используйте "в кассу" и кнопка для переключения филиала. Вы увидите, что "выезд" и кнопку вверху после нажатия на ветке. Изменения в текущей ветке будут применены автоматически. Затем вы можете их совершить.