PMPV
조금 더 효율적인 협업 프로젝트 - Squash and merge, Github issue (1) 본문
조금 더 효율적인 협업 프로젝트 - Squash and merge, Github issue (1)
playinys 2018. 8. 30. 22:020.
위 두 에러사항을 한눈에 알 수 있는 상황은 다음과 같다.
늘카테 팀의 커밋 내역이다. 개별 브랜치를 사용하지 않고 마스터 브랜치에서 모든 작업을 진행하다보니 항상 최신 작업 내역이 필요해 그랬는지 개발 커밋보다 머지 커밋이 훨씬 많다. 이때문에 팀원들이 커밋 메세지를 열심히 적어줬음에도 작업 상황을 공유하기가 쉽지 않았다. "네브바 작업 하시는 분 있어요?", "레코드 모델 컬럼 수정했어요~"와 같은 작업 계획, 진행 과정을 직접 물어보고 말해주며 작업이 진행되었다. 만약 원격 작업이었으면 협업이 불가능했겠지..
이러면 안될거같다! 좋은 방법을 찾아봐야 한다. 개선 목표는 두 가지다.
(1) 커밋 내역을 더 깔끔하게 하기
(2) 팀/개인의 작업 진행 상황을 한 눈에 볼 수 있게 하기
1. Squash and merge
첫 번째 문제는 의외로 금방 해결되었다.
나의 멘토 나의 빛 나의 갓갓 킹갓빛황의조올타임남바완존잘남 이동근 님의 도움으로 꿀팁을 소개받았다!
지금까지 풀리퀘스트를 날릴 때 초록색 버튼을 클릭클릭클릭하며 넘어갔는데 요런 기능이 숨어있었다.
스쿼시 머지를 하는 방법은 다음과 같다.
풀리퀘스트를 날리고 병합할 때, 기본으로 설정된 Create a merge commit 대신 두 번째 있는 Squash and merge를 선택해준다.
스쿼시는 한 브랜치 안에 있는 모든 작업 내역을 하나의 커밋으로 통합해준다. 내가 원하는건 네모 박스 안에 있는 두 가지 커밋 내역을 원격 저장소에 반영하는 법이다. 기존의 방식으로 한다면 원격 저장소를 병합한 내역, 내 커밋 내역이 팀의 저장소에 줄줄 쌓일 것이다. 마치 이렇게
언제나 예쁘고 깔끔하고 아름다운 내역을 원하는 입장에서는 매우 짜증스러운 일이 되겠다. 하지만 이런 작업 내역을 스쿼시 머지를 통해 반영한다면 아래와 같이 깔끔하게 나온다!
내가 보낸 풀리퀘스트가 하나의 단일 커밋으로 바뀌고 깔--끔하게 한 줄로 나온다.
이전의 커밋 메세지 내역도 저렇게 하나의 단일 내역으로 통합되어 가독성이 좋아진다. 매우 깔끔깔끔
앞으로는 Merge pull request, Merge remote-branch tracking으로 범벅된 커밋 내역을 보지 않아도 될 것 같다. 만족스럽다.
해결하지 못한 문제점이 한 가지 있긴 하다.
스쿼시 머지가 현재 브랜치 안의 모든 커밋 내역을 통합해주는 기능 때문인지 어쩐지는 모르겠지만, 커밋 로그에 지난 작업 내역까지 모조리 나온다.
가장 최근의 작업 내역만 반영하고 싶은데 이렇게 나오니 또 한 번 방법을 찾아봐야 할 것 같다.
지금은 메세지를 남길 때 이전 메세지 내역을 직접 지워주며 메세지만 깔끔하게 머지를 하고 있다. 언젠간 해결되겠지..
2. Github issue
내용이 길어져서 다음 포스팅으로 넘긴다.
'development > Fxxk Git' 카테고리의 다른 글
Github Desktop과 Fork를 이용한 깃 협업 플로우 - (3) (2) | 2018.08.12 |
---|---|
Github Desktop과 Fork를 이용한 깃 협업 플로우 - (2) (0) | 2018.08.10 |
Github Desktop과 Fork를 이용한 깃 협업 플로우 - (1) (0) | 2018.08.09 |