오늘 한 것
Git 작업 방식 이해
Git 은 뭐고, Github 은 무엇인가?
- Git은 프로젝트의 버전 관리를 하고 프로젝트를 협업할 수 있는 도구다.
- Github는 개발자의 커뮤니티이며, Git의 버전관리를 저장하는 곳이다.
버전관리와 commit
- Git 은 어떻게 버전관리를 할까?
- Git은 '누가', '언제', '현재 파일 내용들' 3가지 정보를 포함하여 작업 내역을 관리한다.
- commit(커밋)은 무엇일까?
- 현재 프로젝트 상태를 저장하는 것을 말한다.
- Git이 commit(이전에 저장한 프로젝트의 상태)를 알고 있음으로 자동으로 누가, 언제, 어떤 부분을 바꾸었는지 확인할 수 있다.
원격 repo 사용하기
- 원격 repo와 로컬 repo가 무엇일까?
- 원격 repo는 Github에 저장되어 있는 Repository
- 로컬 repo는 나의 로컬 환경에서 저장되어 있는 Repository
- push, pull은 로컬 repo 를 기준으로 생각!
- push : 로컬 repo 의 commit 들을 원격 repo 에 반영하는 것! commit들을 밀어넣기!
- pull : 원격 repo 의 commit 들을 로컬 repo 에 반영하는 것! commit들을 땡겨오기!
작업 방식
- 1단계. 누가 이 작업 할 것인지 정한다. - Issue
- 2단계. 각자 맡은 것을 작업한다. - Branch
- 3단계. 각자 작업을 프로젝트에 합친다. - merge
- (경우에 따라). 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다. - PR 후 merge
Issue 할당
- 누가 이 작업을 할 것인가?
- Issue는 프로젝트에서 해결해야 하는 문제다.
- Bug 신고
- 기능 추가, 프로젝트 개선 제안
- Github 외에도 많이 쓰이는 이슈 관리를 할 수 있는 도구는 Jira, Trello, YouTrack 등이 있다.
Branch
Merge
Merge Conflict
PR 후 Merge
- 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영하기
오늘 배운 것
- 개념 처음 접할 때, 기술 블로그 보다는 공식 문서를 먼저 보자.
- 모르는 것이 생길 때, 해결하고 싶은 문제가 있을때,
"다시 강의 들어보자." 하는 것은 시간 낭비이고 제일 비효율적이다.
내가 모르는 것이 무엇인지, 내가 해결하고 싶은 문제가 무엇인지 정의를 내리자.
내가 문제 해결에 기여한 것을 정리하고, 구체적인 데이터를 준비하자.
- PR 후 Merge하면서 오픈소스에 기여할 수 있다! 도전해보자!