-
[매일읽기] 7 Git Best Practices to Start Using in Your Next Commit개발자 라이프/매일읽기 2020. 9. 5. 10:12반응형
원문 : medium.com/sourcelevel/7-git-best-practices-to-start-using-in-your-next-commit-f9dc54990e86
1. master 브랜치에 바로 푸시하지 마라
- master는 최종 배포를 위한 브랜치
- 별도의 브랜치를 따서 작업하고 머지할 것
2. 작성자의 신원을 잘 작성하라
- 커밋 과정에서 포함되는 작성자의 이름과 이메일을 잘 작성할 것
- 커밋은 하나의 커뮤니케이션 툴이고 커밋 후 변경에 대해서 도움이 필요할 수 있음
- `git blame <file_name>`으로 다음을 알 수 있음
- 최근 커밋으로 변경된 부분
- 커밋의 작성자
- 커밋된 시간
3. 커밋 메시지는 상세하고 의미 있게 작성하라
- 커밋은 하나의 커뮤니케이션 툴이므로 커밋 메시지를 상세하고 의미있게 작성하면 협업 과정에서 많은 도움을 줄 수 있음
- `git log`를 통해 커밋 기록들을 확인할 수 있음
- "버그 수정"과 같은 추상적인 메시지들은 생각보다 많은 문제를 야기함
4. 연관된 작업에 따라 커밋
- 객체지향 SOLID 원칙 중 단일 책임 원칙(S)과 마찬가지로 커밋도 연관된 하나의 작업의 단위로 나눠서 함
5. master 브랜치의 히스토리를 변경하지 마라
- 커밋 로그 기록을 변경하는 방법은 많은 방법이 있지만
git rebase -i
를 가장 추천함- 커밋 순서를 변경하거나
- 커밋을 지우거나
- 두 개 이상의 커밋을 합치거나 수정하는 등을 할 수 있음
- master 브랜치는 여러 공동 작업자들이 바라보고 있기 때문에 master 브랜치의 히스토리를 변경하면 큰 문제를 야기함
- master 뿐만 아니라 배포되어 공동 작업자들이 있는 브랜치 모두
- 로컬 브랜치에서는 언제든지 상관없음
6. 작업하고 있는 브랜치는 자주 rebase 하라
- 현재 작업하고 있는 코드와 최신으로 업데이트된 코드 사이에 충돌이나 버그가 발생할 수 있으므로 자주 rebase 해서 최신 상태를 유지함
- rebase 명령어 과정
git checkout <upstream\_branch>
git pull
git checkout -
git rebase <upstream\_branch>
git fetch --prune
명령어를 사용하면 별도의 upstream 브랜치로 checkout 할 필요 없음
7. git에 대해 파악하고 사용하라
- git은 위에서 언급한 것 외에도 다양한 기능을 제공함
git cherry-pick
git diff
git apply
git stash
git bisect
등
읽고 나서
- 아직 다양한 명령어를 사용해보지 않아서 생소한 부분이 많음
- 이번 카프카 작업하면서 이것저것 사용해봐야겠음
반응형