728x90
반응형
질문 : Git에서 파일의 일부만 커밋
Git에서 파일을 변경할 때 일부 변경 사항 만 커밋하려면 어떻게해야합니까?
예를 들어 파일에서 변경된 30 줄 중 15 줄만 커밋 할 수 있습니까?
답변
git add --patch <filename>
(또는 -p
를 사용할 수 있으며, git은 파일을 합리적이라고 생각하는 "hunks"(파일의 일부)로 분해하기 시작합니다. 그러면 다음 질문이 표시됩니다.
Stage this hunk [y,n,q,a,d,/,j,J,g,s,e,?]?
다음은 각 옵션에 대한 설명입니다.
- y 다음 커밋을 위해이 덩어리를 준비
- n 다음 커밋을 위해이 덩어리를 준비하지 마십시오.
- q 종료; 이 덩어리 또는 나머지 덩어리를 준비하지 마십시오.
- 상기 파일에이 덩어리와 이후의 모든 심술쟁이 무대
- d 파일에서이 덩어리 또는 이후 덩어리를 준비하지 마십시오.
- g 갈 덩어리를 선택
- / 주어진 정규식과 일치하는 덩어리 검색
- j 이 덩어리를 미정으로 남겨두고 다음 미정 덩어리를 참조하십시오.
- J 는이 덩어리를 미정으로두고, 다음 덩어리를 봐
- k 이 덩어리를 미정으로 두십시오. 이전 미정 덩어리를 참조하십시오.
- K 는이 덩어리를 미정으로 남겨두고, 이전 덩어리를 참조하십시오.
- s 현재 덩어리를 더 작은 덩어리로 나눕니다.
- e 현재 덩어리를 수동으로 편집
- ? 덩어리 도움말 인쇄
파일이 아직 저장소에없는 경우 먼저 git add -N <filename>
수행 할 수 있습니다. git add -p <filename>
계속할 수 있습니다.
나중에 다음을 사용할 수 있습니다.
git diff --staged
를 사용하여 올바른 변경 사항을 준비했는지 확인git reset -p
to unstage to unstage added hunks- 커밋 메시지를 편집하는 동안 커밋을 보려면
git commit -v
.patch
파일로 구문 분석하는 것을 목적 git format-patch
명령과는 매우 다릅니다.
향후 참조 : Git 도구-대화 형 스테이징
출처 : https://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
git rebase 실행 취소 (0) | 2021.06.15 |
---|---|
Git-모든 곳에서 node_modules 폴더 무시 (0) | 2021.06.14 |
새 저장소에 대한 'git push'에 원격 원본이 이미 있습니다. (0) | 2021.06.13 |
기존 Git 저장소를 다른 저장소로 가져 오는 방법 (0) | 2021.06.13 |
GitHub에서 단일 파일 다운로드 (0) | 2021.06.12 |