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
나는 첫 번째 덩어리를 적용하기 위해 분할 후 "아니오"로 응답합니다. 두 번째 덩어리는 편집을 시도합니다. 나는 원래 결론을 삭제하려고 시도했지만 작동하지 않았습니다. 덩어리를 완전히 내버려 두는 것도 효과가 없으며 이유를 알 수 없습니다.
-
은 처음에 파일에 존재하지 않는 줄의 시작 부분에 '를 추가 하지 않는다는 것입니다. diff이고 아직없는 줄은 삭제할 수 없습니다. 따라서 diff의 줄이로 시작하고 git goes WTF로+
변경하면-
? 이제 제거로 표시된 줄이 처음부터 존재하지 않기 때문에 (대신 해당 줄이 추가로 표시되고 추가로 표시된 줄이 제거로 표시되면 git은 파일에 아직없는 줄을 제거 할 수 없습니다) .