Я начал работать над своей основной веткой, думая, что моя задача будет легкой. Через некоторое время я понял, что потребуется больше работы, и я хочу сделать всю эту работу в новой отрасли.
Как я могу создать новую ветку и взять все эти изменения со мной, не пачкая мастер ?
git
git-branch
willcodejavaforfood
источник
источник
branch current changes
противexisting uncommited branch
. Любой, кто говорит по-английски, сразу увидит, что они одинаковы, но поисковые системы, вероятно, не будут. Сохраните этот вопрос.Ответы:
Если вы еще не сделали ни одного коммита, достаточно будет только (1: ветка) и (3: извлечение).
Или в одной команде:
git checkout -b newBranch
Как упоминалось в
git reset
справочной странице :master
" ветке. Вы хотите продолжить полировать их в ветке темы, поэтому создайтеtopic/wip
ветку " " из текущейHEAD
.master
ветку, чтобы избавиться от этих трех коммитов.topic/wip
" ветку и продолжайте работать.Примечание: из-за «разрушительного» эффекта
git reset --hard
команды (она сбрасывает индекс и рабочее дерево. Любые изменения в отслеживаемых файлах в рабочем дереве, так как<commit>
они отбрасываются), я бы предпочел:Это позволит убедиться, что я не потеряю приватный файл (не добавленный в индекс). Вариант не будет касаться индексного файла , ни рабочего дерева на всех (но сбрасывает голова к , так же , как все режимы делают).
--soft
<commit>
С Git 2.23+ , то новая команда
git switch
создаст филиал в одной строке (с тем же родаreset --hard
, так что берегитесь его действия):источник
git reset --hard
уничтожит ваши изменения, и если они еще не зафиксированы, они не подлежат восстановлению! Возможно, вам просто нужноgit checkout -b …
git checkout -b
первый.topic_wip
будет работать тоже;)Как указано в этом вопросе: Git: Создать ветку из непомеченных / незафиксированных изменений на master : stash не нужен.
Просто используйте:
git checkout -b topic/newbranch
Любая незавершенная работа будет перенесена в новую ветку.
Если вы попытаетесь нажать, вы получите следующее сообщение
Просто сделайте, как предложено, чтобы создать ветку удаленно:
git push --set-upstream origin feature/feature/NEWBRANCH
источник
Следуй этим шагам:
Создайте новую ветку:
Оформить заказ в новой ветке: (это не сбросит вашу работу.)
Теперь зафиксируйте свою работу в этой новой ветке:
Выполнение вышеописанных шагов позволит сохранить исходную ветку в чистоте, и вам не нужно делать никаких «git reset --hard».
источник
-s
в шаге 3.Поскольку вы еще не сделали никаких коммитов, вы можете сохранить все свои изменения в тайнике, создать и переключиться на новую ветвь, а затем вставить эти изменения обратно в рабочее дерево:
источник
git stash push
не команда. Вы, вероятно, хотели бы использоватьgit stash
илиgit stash save
. Если вы хотите включить неотслеживаемые файлы в тайник, используйте--include-untracked
опцию. Аналогичным образом, если вы хотите включить как неотслеживаемые, так и игнорируемые файлы в тайник, используйте--add
вместо этого параметр.Чтобы добавить новые изменения в новую ветку и нажать на удаленный:
Часто я забываю добавить исходную часть для push и запутываюсь, почему я не вижу новую ветку / commit в bitbucket
источник