M
означает, что файл был изменен.Чтобы сделать то, что вы хотите, я обычно использую два подхода.
Один из подходов - использование stash, вызовите git stash
, прежде чем покинуть текущую ветку, и все ваши изменения будут помещены во «вторичный индекс».своего рода называется тайником.Когда вы вернетесь к своей первоначальной ветке, просто позвоните git stash pop
, чтобы вернуть изменения из хранилища.
Другой подход, который я также использую довольно часто, если я ожидаю, что мой новый набор изменений будет довольно долгимжил, это просто сделать "wip" коммит, который я позже отменил:
(oldbranch)$ git add -A . && git commit -m"wip"
(oldbranch)$ git checkout master && git checkout -b newbranch
# work on the new branch....
(newbranch)$ git checkout oldbranch
(newbranch)$ git reset HEAD^
git reset HEAD^
превращает ваш рабочий каталог в коммит ДО текущего заголовка ветви и перемещает все изменениякоторые были частью этого «wip» коммита обратно в ваш рабочий каталог, эффективно возвращая вас туда, где вы были.