Предположим, что я на ветке master, и я начинаю вносить некоторые изменения.
Я вношу изменения в файл, который уже открыт в Emacs (поэтому под капотом, когда происходят проверки, Emacs не знает, если я не вернусь-буфер постоянно).
Файл существовал в ветке other_branch, который позже должен был быть объединен с master. Но файл не существовал в master, пока я случайно не сохранил его из Emacs.
Изменения не завершены, но я понимаю, что я не должен был вносить изменения в master и планировал проверить другую ветку перед началом изменений.
Я не хочу потерять текущую работу, но также не хочу передавать ее master.
Я попытался использовать git stash, за которым следует git checkout other_branch, но это дает мне ошибку, говоря, что из-за незафиксированных изменений мне не разрешено переключать ветки на other_branch:
[email protected]:~$ git checkout other_branch
error: The following untracked working tree files would be overwritten by checkout:
    some_file
Please move or remove them before you can switch branches.
Aborting
Файлы, которые я начал (случайно) изменяя в master, уже существуют в other_branch, поэтому просто проверка other_branch приведет к уничтожению моей копии рабочего каталога, с изменениями, правильно?
Я попробовал stash, который, похоже, зачеркнул изменения, но затем я получил сообщение об ошибке выше, когда я пытался проверить.
Резюме
-  проверить новую ветвь, other_branchотслеживаниеmaster.
-  создайте новый файл test.txtвother_branchи откройте его для редактирования в Emacs. Зафиксируйтеother_branch.
-  обратно в терминал, мастер проверки. 
-  Вернувшись в Emacs, вы забыли, что теперь находитесь на хозяине, внесите некоторые изменения в test.txtи сохраните файл. Это абсолютно новый файл, относящийся кmaster.
Как вы можете получить эти изменения в other_branch?
