Как мне внести изменения в git stash для нескольких коммитов?

У меня есть пять файлов, которые были изменены: 1-3 должны быть в одном коммите, в то время как 4 и 5 должны быть разными коммитами целиком, поэтому мне нужно всего 3 отдельных коммита. Как я использую git stash выполнить следующее:

commit1:
  file1
  file2
  file3
commit2:
  file4
commit3:
  file5

не теряя ни одного из моих изменений? Спасибо!

2 ответа

Решение

Если я правильно читаю ваш вопрос, вам не нужно использовать git stash совсем...

Вы можете просто добавить их и зафиксировать их отдельно:

git add file1 file2 file3
git commit -m "first message"
git add file4
git commit -m "second message"
git add file5
git commit -m "third message"

Если вы используете git stash вам не нужно беспокоиться об отдельных коммитах в данный момент. Запустите команду stash, затем сделайте все, что вам нужно, затем извлеките изменения из stash и сделайте коммиты так, как вы этого хотите.

У вас есть две другие альтернативы. 1) создайте новую ветку и сделайте там свои коммиты. Затем вернитесь к текущей ветке. В какой-то момент сливаются. 2) Создайте свои коммиты, а затем сделайте ребаз. Это, вероятно, не то, что вы хотите сделать.

Другие вопросы по тегам