GIT
깃을 왜 써야하는가?
- 개발자로 취업하기 위해 좋은 매리트가 된다.
- 협업도구로서 협업할때 유용하다
깃허브를 좋지 않게 사용하고 있는 예시
깃허브 사용을 겁내지 말자
- 코드가 공개적으로 나와있으니 남들이 본다고 부끄럽다!
- 생각보다 일반인들은 나의 코드를 꼼꼼히 보지 않는다.
- 취업할 때는 회사에서 확인할 수 있으니깐 완벽한 코드만 넣고싶다.
- 코드 퀄리티를 본다.
- 성장 과정을 보여주는 것도 굉장히 중요
- 다른 사람과 같이 협업하다가 코드를 망가뜨릴 수 도 있지 않을까?
Git의 기본기능
Commit
- 기록을 남기는 것
- 하나의 작업 단위를 마무리할 때
- 커밋을 왜 해야하는가?
- 협업을 중점으로 뒀을 때 : 커밋을 작성할 때 수정사항에 대한 기록이 남겨져있으면 왜 추가되었는지, 이 코드를 읽어야 하는지 어떤 기능이 추가되었는지 알 수 있음
- 작업한 기록에 대해서 어떤 작업을 했는지에 대해서 다른 사람이 보기 좋게 작성하는 습관을 들여야 함
=> 코드를 저장 및 내용을 포함하여 기록
repository
- Git 허브 시스템이 나의 코드를 저장하는 방을 하나 만드는 것과 같음
- 코드를 올리면 github가 사라지지 않는 이상 그대로 남아있음
- 내 컴퓨터에만 코드가 있을 시 협업하기 어려움
=> 원격 저장소
push
- 로컬에서 깃 저장소로 저장
=> 원격 저장소에 내 코드를 업로드
pull
- 깃저장소에서 로컬저장소로 가져오기
=> 원격 저장소에서 내 코드를 다운로드
branch
- 작업 공간을 분리하는 곳
=> 작업공간을 나누는 것
깃허브 쉽게 쓰기
code-review 코드리뷰
코드리뷰의 장점
- 코드상의 실수를 미리 파악할 수 있다.
- 책임이 줄어든다.
- 개발자로써 기술적 성장이 쉽다.
- 커뮤니케이션 능력이 늘어난다.
깃허버의 협업도구로써의 강점
Issue
Pull Request ( PR )
-
프로젝트 코드를 추가하기 전에 다른 사람들의 허락을 구하는 것
-
open source : 수정할 수 있는 권한은 없지만 코드르 받아서 코드를 수정해달라고 요청이 가능함
-
Retrofit : 네트워크 라이브러리 안드로이드에서 자주 쓰임
-
스크린 샷을 넣었을 때 좋다.
-
화면이 없을 때는 스크린 샷이 없어도 괜찮음
-
변경된 파일들을 모아서 한눈에 볼 수 있음
-
이 코드에 대해 코멘트에 추가하면 다시 답글을 다는 등 좋게 할 수 있음
코드리뷰를 잘 작성하기 위한 가이드
- 친절하게 코멘트를 남기자
- 코드의 수정량이 +-를 합쳐서 500줄이 넘지 않도록 하자
- 사소해보이더라도 남기는 연습을 하는 것이 좋다. ( Nit : 반영하지 않아도 괜찮다, 가볍게 봐라 , 띄어쓰기 등등 )
=> 이슈를 잘게 조개서 하기
- 이해가 안되는 코드는 질문으로 코멘트를 남겨도 좋다!
- 칭찬의 코멘트를 남기자
Merge할때 사용할 수 있는 커밋의 종류
Merge Commit
Squash Merge
Rebase Merge
깃허브 컨벤션
- 커밋 컨벤션
- feat : 새로운 기능을 추가한 경우
- fix : 버그를 고친 경우
- docs : 문서를 수정한 경우
- style : 코드 포맷 변경, 세미콜론 누락 , 코드 수정이 없는 경우
- refactor : 프로덕션 코드 리펙토링
- test : 테스트 추가, 테스트 리팩터링 ( 프로덕션 코드 변경 없음 )
- chroe : 빌드 테스트 업데이트, 패키지 매니저 설정할 경우 ( 프로덕션 코드 변경 없음 )
기능 추가 : Add 내용
기능 수정 : Modifier 내용
버그 수정 : Fix 내용
코드 수정 : Refactor 내용
gitmoji 이모지
- 브랜치 네이밍 컨벤션
- [브랜치 타입]/[#이슈번호] - [브랜치 내용]
-> / 뒤에 디렉토리 느낌도 같이 반영됨
깃 플로우
- 개발자 통계에서 3위
- Master ( main ) 에는 완성 되었다 -> 업로드 할거다 그런 내용만 들어가야함
- develop : 수정되고 잇는 곳이 추합되는 곳
- feature branch : 기능이 추가되고 직접적으로 커밋을 하는 것
마크다운
- 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다.
readme.md 작성하기
- 프로젝트 요약
- 오랜만에 프로젝트를 확인했을 대 한눈에 어떤 프로젝트 였는지 기억할 수 있음
- 내가 만든 프로젝트를 쉽게 어필할 수 있는 수단
- 위 프로젝트를 사용할 때 주의사항 기재