Git
Chapters ▾ 2nd Edition

A3.9 Appendix C: Git 명령어 - Email

Email

메일링 리스트로 관리하는 프로젝트가 많이 있다. Git 프로젝트 자체도 그렇다. Git에는 이메일로 작업하기 쉽게 만들어 주는 도구가 들어 있다. Patch를 생성해서 이메일을 보내고 메일 박스에서 Patch를 적용하는 과정을 도와준다.

git apply

git apply 명령은 git diff 명령으로 생성한 Patch를 적용하는 명령이다. GNU diff 명령으로 생성한 Patch도 가능하다. 약간의 차이는 있지만 patch 명령어랑 비슷하다.

이 명령을 사용하는 상황과 어떻게 사용하는지 이메일로 받은 Patch를 적용하기에서 설명한다.

git am

git am 명령으로 이메일 인박스에 든 mbox 포맷의 Patch를 적용할 수 있다. 이메일로 패치를 주고받을 때 유용하다.

git am 을 언제 어떻게 사용하는지는 am 명령을 사용하는 방법에서 다룬다. --resolved, -i, -3 옵션 사용법을 설명한다.

git am 명령을 사용할 때 설정할 수 있는 훅은 이메일 워크플로 훅에서 다룬다.

이 명령으로 GitHub Pull Request의 Patch도 적용할 수 있는데 이메일 알림에서 설명한다.

git format-patch

git format-patch 명령은 Patch를 mbox 포맷으로 생성하는 데 사용한다. 생성 한 패치를 쉽게 메일링 리스트로 보낼 수 있다.

`git format-patch`로 프로젝트에 기여하는 예제를 대규모 공개 프로젝트와 이메일을 통한 관리에서 보여준다.

git imap-send

git imap-send 명령은 `git format-patch`로 생성한 메일을 IMAP drafts 폴더에 넣어준다.

git imap-send 명령으로 예제는 대규모 공개 프로젝트와 이메일을 통한 관리에서 살펴본다. 패치를 보내서 프로젝트에 기여해보는 예제다.

git send-email

git send-email 명령은 git format-patch 명령으로 생성한 Patch를 이메일로 보내는 데 사용한다.

대규모 공개 프로젝트와 이메일을 통한 관리에서 git send-email 명령으로 패치를 보내서 다른 프로젝트에 기여하는 것을 보여준다.

git request-pull

git request-pull 명령은 메일 바디를 생성해주는 명령이다. 그래서 쉽게 다른 사람에게 메일을 보낼 수 있다. 브랜치에 커밋하고 Push 해 놓은 상태를 누군가에게 알릴 때 유용하다. Patch 자체는 이메일로 보내지 않고 정보만 요약해 보낼 수 있다. 이 명령의 결과를 메일로 보내면 된다.

공개 프로젝트 Fork에서 git request-pull 명령을 사용하는 것을 보여준다.