본문 바로가기

Git

💻Git 3주차 총정리(2)💻

✔ 코드리뷰로 피드백주기
 - code review는 PR한 내역에서 댓글을 달면서 리뷰를 남기는 방식을 많이 사용한다.

[code review]

         🔴                                         🔴
      (issue)                                  (Review)

          ↓ [Fork]

        🔴              →      🔴     →   ↓ ↑   →    🔴
   (commits)                 (PR)                      (Merge)
                                                       🔴
                                            (Revise Commits)


 - code review하는 이유?
  1. 코드의 품질을 높일 수 있다.
  2. 다른 사람의 눈으로 버그를 빠르게 발견할 수 있다.
  3. 서로의 지식을 나누면서, 더 나은 방법을 찾아낼 수 있다.
  -> 내가 만든 코드가 아니라 팀의 코드의 품질을 높인다.

 - 이런 코드 리뷰문화를 소개하는 것은 개발팀의 문화를 보여주고, 사용자에게 닿는 프로덕트 즉, 코드의
  퀄리티를 높이면서, 개선해나가고 있다는 것을 알리는 것입니다.
 - 조직마다 코드 리뷰하는 스타일이나 분위기가 조금씩 다르다. 모여서 한 자리에서 라이브로 리뷰하는 곳
  도 있다.

✔ Github 이용한 코드 리뷰

 - Git과 Github을 사용하게되면 서로 피드백을 주고 받으면서 코드리뷰하는 것이 간단해진다.
 - 각자의 작업공간이 분리되어 있어서 코드 리뷰 후 수정도 쉽다.
 - Gihub PR페이지를 통해 댓글로 리뷰를 주고 받을 수 도 있다.

[Github Code Review]

→→→→→→→→→→→→→→→→→→→→→→  🔴 (main branch << Merge)
                                                        ↗
                                                   ↗
→→ 🔴 →→→→→→ 🔴 →→→→→→
   (cmit01)   ↑   (cmit02) ↓
              [PR01]        [PR02]
           1. 기능 추가    1. 최종본
   2. Merge
 - PR후 다시 추가하고 그리고 최종적으로 PR관리자에게 승인받은 뒤에 코드리뷰 권한을 가진 관리자만
  코드를 리뷰할 권한이 있다.

 

✔ gitignore

 - 공유하거나 공개되면 안되는 파일들은 공개된 repo 즉, 공개 Github repo에 올리면 큰일납니다. Git이 마치 이런 파일들을
  없는 것처럼 무시하게 하는 설정이 바로 .gitignore 입니다.
 - 파일명을 .gitignore로 만들고 여기에 Git이 무시해야할 파일 또는 폴더이름을 적어주면 된다. 그리고 나서 내 프로젝트의
  최상위 폴더에 저장하면 끝난다!
 - .gitignore 파일로 내가 중요한 파일을 .gitignore에 넣으면 git에서는 .gitignore파일은 말그대로 무시라는 것이기 때문
  에 중요한 파일은 git에 나타나지 않는다! 그래서 이것을 잘 활용하면 프로젝트때 문제 없이 개발할 수 있다!

✔ README

 - README는 프로젝트나 software사용할때 먼저 읽어야하는 정보를 적어두는 파일이다.
 - Github 프로젝트에서도 README.md를 만들어 프로젝트 소개글을 적어둔다. 프로젝트의 어마어마하게 많은 파일들을 하나씩
  다 읽어 볼 수 없으니 정말 중요한 것만 소개하면 최고!
 - md : mark down이라는 형식의 파일로 작성한다는 뜻이다!
 - markdown : 서식이 적용된 텍스트 파일이다. 보통 텍스트 편집기로도 사용할 수 있지만, markdown문법을 제공하는 편집기
  를 사용하면 서식이 어떻게 적용되는지 한눈에 볼 수 있다.

 

✔ 오픈소스

 - Python, Go, Javascript, Spring, React, Django, Spark, Hadoop등 널리 쓰이는 많은 프로그래밍 언어와 기술들이 모두 
  오픈소스이다.
 - Git은 Linux를 개발할때 협업하는 툴로 태어났다. Git도 오픈소스중 하나이다!
 - Open source란 누구나 프로젝트를 사용하고, 수정하고, 배포할 수 있는 프로젝트를 의미한다.
 - open source를 사용하면 좋은점은 프로젝트가 가진 생태계를 넓힐 수 있다.
 - 프로젝트에 관심있는 사람들이 참여한다면, 적은 규모로 개발했을 때보다 빠르게 프로젝트를 개선시킬 수 있다.
 - 버그를 빠르게 고치고 개선할 수 있고 또는 다른 시각으로 버그를 찾으니깐 다양한 방식으로 여러 버그를 찾고 고칠 수 
  있다는 장점이 있다.
 - 그리고 조직의 개발력을 널리 홍보할 수 있다. 프로젝트 ㅋ코드가 공개가 되니깐 조직의 기술력을 잘 보여 줄 수 있다!
 - 많은 사람들이 프로젝트에 contribution(기여)하면서 발전시켜나가는 것이 바로 Open source의 매력이다!
 - Open source는 단 공짜가 아니다! 라이선스가 따로 있습니다! 꼭 재배포를 할 때에는 원본 라이선스와 똑같은 라이센스를
  사용해야하던가, 비영리적 용도로만 사용해야한다!
 - 소프트웨어에서 많이 ㅆ의는 라이선스로는 Apache License, GNU, MIT 등이 있다.
 - 실제로 Open source를 사용하기 전에 이 라이선스를 제대로 이해하고 사용하는 것이 중요하다!

 

✔ 오픈소스 contribution(기여)

 - 프로젝트의 bug report(신고) - 동작하지 않는 것을 issue에 적기
 - bug report하는 issue에 해결 답변 달기 - 종종 프로젝트 사용할 때 잘 안되는 것들을 도움받기 위해 issue에 적는 경우
  있다. 만약 내가 해결했던 내용이라면 댓글을 달아주면 좋다. 질문자 뿐만 아니라 그 글을 보는 다른 사람들도 도움이 될
  수 있다.
 - 기술 문서화 - 오타 수정, 서식 수정, 기술을 설명하는 문서 작서엥 참여
 - 번역하기 - 주로 영어를 한글로 변역하는 프로젝트가 많다. translation 할 사람을 구할 때, 한국어 번역 제가 할게요!
  하고 지원하면 된다.
 - 버그 코드 수정
 - 새로운 기능 추가
 - 프로젝트에서 필요로 하는 자료 모으기
 - 프로젝트 행사 운영 기획에 참여하기
 - 그리고 프로젝트가 필요로하는 모든 것들!!

 - 어떤 컨트리뷰션이 필요한지는 주로 issue에서 확인한다. help wanted, good first issue(good first issue)라고 알려준다
 - 각 기술마다 오늘은 전 세계적으로 우리 프로젝트에 기여하는 날! 하고 행사를 열기도 한다. 이렇게 집중적으로 기여하는
  것을 sprint라고 한다.
 - 프로젝트에 상관없이 여러 프로젝트에 오픈소스 컨트리뷰션을 같이 하는 행사를 가지기도 한다. 전 세계적으로 가을에 하는
  헥토버페스트(Hacktoberfest)가 유명하고, 한국에서는 'sprint seoul', 'pycon korean sprint', 'open source contributone'
  등이 정기적으로 열리고 있다.

'Git' 카테고리의 다른 글

💻Git 3주차 총정리(1)💻  (0) 2021.11.21
💻Git 2주차 총정리💻  (0) 2021.11.14
💻Git 1주차 - 총정리💻  (0) 2021.11.10