하나의 파일을 분할하고 임의의 범위를 git add하고 싶습니다.
검토를 요청하거나 변경 내역을 이해하기 쉬운 형태로 남기기 위한 것이거나 이유는 다양하지만 의미 있는 덩어리로 커밋을 관리하는 것은 팀 개발에 필수적입니다.
이미 소스 코드를 써 버렸을 때, 어떻게 하면 커밋을 분할할 수 있을까를, 이 기사에서는 소개해 갑니다.
git add -p 사용
-p
의 옵션을 부여하는 것만으로, 임의의 범위를 add
할 수가 있습니다.
$ git add -p <ファイル名>
그러면 아래 그림과 같은 화면이 열립니다.
hunk
= '덩어리'입니다.
y
를 입력하면 +
와 -
가 왼쪽 끝에 있는 행이 stage
에 등록됩니다.
n
를 입력하면 아무 일도 일어나지 않습니다.
그러나 이 덩어리는 자동으로 인식되는 것 같습니다.
그러므로 git add
좀 더 세밀하게 만들려면 e
를 입력하십시오.
임의의 범위를 add 한다
이전 화면에서 e
를 선택하면 vi
편집기가 시작됩니다.
좌단이 +
의 경우는 추가된 코드, 좌단이 -
의 경우는 삭제된 코드, 아무것도 없는 경우는 변경 없음을 나타내고 있습니다.
stage에 등록하고 싶은 부분은 변경하지 않습니다.
등록하고 싶지 않은 부분은 +
의 경우는 행을 통째로 삭제 (vi라면 dd
), -
의 경우는 -
를 공백 に置換します。
選択が終われば保存し、いつも通り git commit
합니다.
이미 커밋 된 코드를 분할하고 싶습니다.
해당 부분에 rebase
를 걸어 reset
한 다음 git add -p
합니다.
$ git log --oneline -3
uptod8t 最新のコミット
tosplit 分割したいコミット
1before 分割したいコミットの1つ前
# 分割したいコミットで、 `pick` を `e` に変更して保存する。
$ git rebase -i 1before
e tosplit 分割したいコミット
pick uptod8t 最新のコミット
$ git reset HEAD~
Unstaged changes after reset:
M main.py
$ git add -p main.py
이제 모든 위치를 stage에 등록할 수 있습니다.
마지막으로
기세가 너무 많아서 소스 코드를 쓸어 쓰고 나서 나누고 커밋하고 싶을 수도 있습니다.
그런 때, 좀처럼 git add -p
를 소개해 주는 기사가 없었으므로, 써 보았습니다.
만약 더 좋은 방법 등이 있으면 코멘트에서 지적하실 수 있으면 다행입니다.
참고문헌
편집 내역
2022 년 1 월 25 일 이미지를 삭제했습니다. 이미지는 신규 작성 예정입니다.
Reference
이 문제에 관하여(하나의 파일을 분할하고 임의의 범위를 git add하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NaotoFujihiro/items/65f368f6c4b961dfc81d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ git add -p <ファイル名>
이전 화면에서
e
를 선택하면 vi
편집기가 시작됩니다.좌단이
+
의 경우는 추가된 코드, 좌단이 -
의 경우는 삭제된 코드, 아무것도 없는 경우는 변경 없음을 나타내고 있습니다.stage에 등록하고 싶은 부분은 변경하지 않습니다.
등록하고 싶지 않은 부분은
+
의 경우는 행을 통째로 삭제 (vi라면 dd
), -
의 경우는 -
를 공백 に置換します。
選択が終われば保存し、いつも通り git commit
합니다.
이미 커밋 된 코드를 분할하고 싶습니다.
해당 부분에 rebase
를 걸어 reset
한 다음 git add -p
합니다.
$ git log --oneline -3
uptod8t 最新のコミット
tosplit 分割したいコミット
1before 分割したいコミットの1つ前
# 分割したいコミットで、 `pick` を `e` に変更して保存する。
$ git rebase -i 1before
e tosplit 分割したいコミット
pick uptod8t 最新のコミット
$ git reset HEAD~
Unstaged changes after reset:
M main.py
$ git add -p main.py
이제 모든 위치를 stage에 등록할 수 있습니다.
마지막으로
기세가 너무 많아서 소스 코드를 쓸어 쓰고 나서 나누고 커밋하고 싶을 수도 있습니다.
그런 때, 좀처럼 git add -p
를 소개해 주는 기사가 없었으므로, 써 보았습니다.
만약 더 좋은 방법 등이 있으면 코멘트에서 지적하실 수 있으면 다행입니다.
참고문헌
편집 내역
2022 년 1 월 25 일 이미지를 삭제했습니다. 이미지는 신규 작성 예정입니다.
Reference
이 문제에 관하여(하나의 파일을 분할하고 임의의 범위를 git add하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NaotoFujihiro/items/65f368f6c4b961dfc81d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)