개요

특정 파일을 Commit할 때, 여러가지 기능들이 동시에 한 파일에 작성되어지는 경우가 있을 것이다.

이 경우 파일 통째로 Commit이 아닌, 파일 내부의 특정 줄(Line) 별로 Commit이 필요할 것이다. 

 

이때, 사용하는 명령어가 git add -p이다.

 

사용 방법은 아래 "줄 별로 Commit 하기" 섹션에서 설명한다.

 

줄(Line) 별로 Commit 하기

먼저, 하나의 파일에서 특정 Line 별로 Commit하는 과정은 아래와 같다.

  1. git add -p "파일 경로"
  2. git commit -m "Commit 메시지"
  3. 생성할 Commit 개수에 따라 1-2. 과정을 반복
  4. 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

https://github.com/z1zon/z1zon-WIL/issues/3

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기