개요
특정 파일을 Commit할 때, 여러가지 기능들이 동시에 한 파일에 작성되어지는 경우가 있을 것이다.
이 경우 파일 통째로 Commit이 아닌, 파일 내부의 특정 줄(Line) 별로 Commit이 필요할 것이다.
이때, 사용하는 명령어가 git add -p이다.
사용 방법은 아래 "줄 별로 Commit 하기" 섹션에서 설명한다.
줄(Line) 별로 Commit 하기
먼저, 하나의 파일에서 특정 Line 별로 Commit하는 과정은 아래와 같다.
- git add -p "파일 경로"
- git commit -m "Commit 메시지"
- 생성할 Commit 개수에 따라 1-2. 과정을 반복
- git push
위 1-2. 과정을 반복하여서 여러 줄들을 여러 Commit으로 생성해주면 된다.
git add 명령의 -p 옵션을 사용 시 Local Git 레포에 stage할 코드가 줄별로 보이며, 동시에 여러 커맨드가 보일 것이다.
각 커맨드는 아래와 같은 기능을 한다.
$ git add -p .
# git add -p 시에 자주쓰는 커맨드는 아래와 같다.
# y : 이 hunk를 stage 시킨다.
# n : 이 hunk를 stage하지 않는다.
# q : add 과정을 종료한다.
# s : 이 hunk를 더 작은 단위의 hunk로 나눈다. 한 hunk에 대해서 1번만 실행할 수 있다.
# e : 현재 hunk 내용을 직접 편집한다.
git add -p가 끝났다면, git commit -m "Message" 명령을 사용하여 Commit을 올리고 다시 git add -p를 하면 된다.
이 과정을 반복하여 한 파일에 존재하는 여러 Line들을 여러 Commit에 나누어서 Git 레포에 Push 시킬 수 있다.
Refercences
'Github' 카테고리의 다른 글
깔끔한 Commit 작성 방법 (0) | 2024.08.20 |
---|---|
[Git] Master 브랜치의 최신 업데이트 Commit을 Sub 브랜치로 병합하는 방법 (0) | 2024.01.21 |