を使用git add --interactive
してインデックスにいくつかの変更を選択的に追加しようとしていますが、「編集したハンクは適用されません。もう一度編集してください...」というメッセージが引き続き表示されます。eオプションを選択してもこのメッセージが表示され、すぐにエディターを保存/閉じます。つまり、ハンクをまったく編集しないと、パッチは適用されません。
これが私が使用している正確な例です(私は小さなデモをまとめようとしています):
元のファイル:
first change
second change off branch
third change off branch
second change
third change
fourth change
新しいファイル:
Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
bug fix 1
change supporting feature 1
git add --interactive
インデックスに「バグ修正1」行のみを追加する方法を示しています。ファイルに対してインタラクティブな追加を実行して、パッチモードを選択します。それは私に
diff --git a/newfile b/newfile
index 6d501a3..8b81ae9 100644
--- a/newfile
+++ b/newfile
@@ -1,6 +1,9 @@
+Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
+bug fix 1
+change supporting feature 1
私はsplitで応答し、続いて「no」で最初のハンクを適用します。2番目の塊、私は編集しようとします。私はもともと収益を削除しようとしました-それはうまくいきませんでした。塊をそのままにしておくことも完全には機能せず、その理由がわかりません。
-
のは、最初からファイルに存在しない行の先頭に 'を追加していないことです。これは差分であり、まだ存在していない行を削除することはできません。それで、diffの行がで始まり、+
それを-
gitに変更すると、WTFになりますか?なぜなら、削除のマークが付けられた行が最初から存在しないためです(代わりに、その行が追加のマークが付けられ、追加のマークが付けられた行が削除のマークが付けられている場合、gitはまだファイルにない行を削除できません) 。