Вы находитесь в так называемом состоянии HEAD отсоединено, что означает, что вы не работаете на ветке.Во-первых, поместите вашу текущую работу в ветку.
git checkout -b my-feature
Если вы хотите отбросить коммит 5, перенесите вашу работу на коммит 4.
git rebase <commit4's SHA>
То, что вы получите, будет выглядеть следующим образом:
c1 - c2 - c3 - c4 - c5 (my-app)
\
p1 - p2 (my-feature)
Если вам не нужен коммит 5, переведите my-app в my-feature (p2).
git checkout my-app
git reset --hard my-feature
Окончательный результат:
c5 # no branch
/
c1 - c2 - c3 - c4 - p1 - p2 (my-app, my-feature)
Я боюсь использовать rebase
Если вы не уверены в необходимости перебазирования, оставьте вашу текущую ветку нетронутой и создайте новую ветку, прежде чем начинать перебазирование, например::
git checkout -b my-feature-rebased
Окончательный результат:
c5 # no branch
/
c1 - c2 - c3 - c4 - p1 - p2 (my-app, my-feature-rebased)
\
p1 - p2 (my-feature) # backup