누가(author), 언제(시간), commit 시점의 파일 상태, commit 메시지 정보를 포함.
push
로컬 repo 의 commit 들을 원격 repo 에 반영하기(push)! 밀어넣기. 원격 repo 에 없
는 즉,새로운 commit 내역을 모두 원격 repo 에 한 번에 반영합니다.
pull
원격 repo 의 commit 들을 로컬 repo 로 반영하기(pull)! 땡겨오기. 로컬 repo 에 없는
즉,새로운 commit 내역을 모두 로컬 repo 에 한 번에 반영합니다.
pull request
작업내역을 프로젝트에 반영하는 것이 아니라 충분히 리뷰받고 최종적으로 프로젝트에 반영하는 단계입니다. 3단계 대신 사용한다고 생각하면 됩니다!
1단계. 누가 이 작업 할 것인지 정한다. - Issue
2단계. 각자 맡은 것을 작업한다. - Branch
3단계. 각자 작업을 프로젝트에 합친다. - merge
👉 (경우에 따라). 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다. - PR 후 merge
readme 작성
나를 위해
내가 코딩한 프로그램이더라도, 다시 읽고, 해석해야 하는 경우 이해가 쉽다.
동료를 위해
함께 프로젝트를 할 때 지침서 역할을 한다.
사용자를 위해
서비스를 구현하거나 프로젝트가 오픈소스 일 경우 이용자들을 위함 지침서로 사용된다.
구성요소
프로젝트 구성
프로젝트 프로그램 설치 방법
프로젝트 프로그램 사용법
저작권 및 사용권 정보
프로그래머 정보
버그 및 디버그
참고 출처
버전 및 업데이트 정보
FAQ
이슈작성
프로젝트에서 issue(이슈)는 프로젝트에서 해결해야하는 문제로 아래같은 것이 있다.
버그(프로그램이 원하는 대로 동작하지 않는 것)를 신고 Bug report, 버그 리포트)
기능 추가 등의 프로젝트 개선 제안 (enhancement)
위 문제들을 해결하기 위한 작업단위
개발자들은 이렇게 이슈라는 말을 사용하죠!
"회원가입 기능에서 버그있네요. 이슈 등록해둘게요."
여기 버튼을 더 눈에 잘 보이게 고치면 좋겠는데요? 이슈 등록해둘게요.
"6번 이슈 제가 처리할게요. 제 앞으로 할당해두겠습니다!"
issue 는 내가 할 작업, 기능 추가, 버그 리포트 등 여러 방식으로 사용할 수 있습니다.
협업을 하기 위해 issue 를 만들어 누가 작업할지 정하고, 브랜치를 만들어 작업할 공간을 나눕니다.
Branch
브랜치(branch)는 특정 commit 에서 갈라져나와 작업할 수 있습니다. 우리는 기능별로 이름을 만들어주어 브랜치에 작업해줍니다.
작업할 브랜치로 바꾸는 것을 체크아웃(checkout)이라고 합니다. 체크아웃된 브랜치에만 commit 이 반영됩니다.실습 내용 추가 예정