가끔 바쁜 시간에 코딩 한 후 많은 변경 사항이있는 작업 트리로 끝나는 경우가 있습니다. 변경 사항이 많아서 20 커밋, 2 또는 3 개의 가지. ,작업 트리의 변경 사항이 잘못 처리되어 커밋되지 않음
사용
git add -p
즉 대답은 "아니오 (인덱스에 아무것도 저장하지 않고, 를 작업 트리의 모든 심술쟁이을 검사 할 : 작업 트리를 정리하고 친절하게 모든 것을 저지하기 위해,이 불쾌한 워크 플로우를 따라 모든 덩어리에 "이 단계를하지 마십시오.) 그 사이에, 나는 마음가짐을 커밋으로 그룹화하려고 시도하고, 필자가보아야하는 커크와 함께 만들어야 할 커밋의 일부 노트를 텍스트 파일로 가져 간다.모든 노트를 커밋 (노트)에 할당 한 후
git add -p
을 다시 시작한 후 첫 번째 커밋에 들어간 헌크에게만 "예, 단계 지정"이라고 대답합니다. 모든 덩어리를 조사하고 내가 원하는 것을 골라 쓴 후에 실제로 커밋을합니다.노크가
git add -p
에 남아있는 한 2 단계에서 반복하십시오. 이것은 내가 모든 덩어리를 조사한다는 것을 의미합니다. 마다 내 노트에 커밋을합니다.
이것은 많은 변경 사항을 한꺼번에 처리하는 매우 바보 같은 방법입니다. 많은 변경 사항부터 시작하여 정렬하고 좋은 분기점으로 마무리하는 좋은 방법이 있습니까?
을 여러 인덱스로 동시에 커밋하는 방법이 있습니다. 아니면 모든 변경 사항을 하나의 큰 커밋으로 커밋 한 다음 여하튼 여러 개의 커밋으로 분할해야합니까? 또는 변경 사항을 그룹화하는 데 도움이되는 git stash
을 (ab) 사용하는 방법이 있습니까?
필자는 기본적으로 노트를 사용하지 않고이 워크 플로에 대해 많은 잘못된 점이 있다고 생각하지 않습니다. 그러나 나는 각각의 커밋에 포함 할 파일이나 라인을 시각적으로 선택하기 위해'git citool '을 좋아한다. 그리고 예,'git rebase -i' 아래에서 언급했듯이 때로는'git commit --fixup' 또는'git commit --squash'와 함께 명령을 내리는 것이 도움이됩니다. –
아, 결국에는 토픽 브랜치로 전환하고 "git cherry-pick"으로 커밋을 "작업 브랜치"에서 처리 할 수 있습니다. –