Гипотетическая ситуация: мастерю я красивый комит из набора изменненных unstaged файлов с помощью add -i. В файле foo.txt я заметил, что часть изменений не нужна. Естественно, я добавил нужные изменения в stage с помощью add -i. Теперь хочу «стереть» ненужные изменения.
Вот маленькая иллюстрация ситуации:
$ cat > foo.txt <<END
1. wanted
2. unwanted
END
$ git add -i foo.txt
git diff --staged foo.txt
diff --git a/foo.txt b/foo.txt
index e69de29..6a5ed99 100644
--- a/foo.txt
+++ b/foo.txt
@@ -0,0 +1 @@
+1. wanted
$ git diff foo.txt
diff --git a/foo.txt b/foo.txt
index 6a5ed99..9e6d867 100644
--- a/foo.txt
+++ b/foo.txt
@@ -1 +1,2 @@
1. wanted
+2. unwanted
А вопрос такой: как мне стереть unstaged изменения в foo.txt, чтобы:
- не трогать других измененных unstaged файлов
- сохранить staged изменения в foo.txt (и вообще весь stage)
?