Collaborator의 권한
1. 코드 푸시: Collaborator는 소유자와 동일하게 repository에 직접적으로 코드를 푸시할 수 있습니다. 이는 Collaborator가 repository의 소스 코드를 본인의 로컬 시스템에 클론한 후, 코드 수정이나 추가 작업을 한 뒤에 그 변경 사항을 다시 원격 repository에 푸시할 수 있다는 것을 의미합니다.
이슈 관리: Collaborator는 repository의 이슈를 열고 닫을 수 있습니다. 이는 프로젝트의 오류 보고, 기능 추가 요청, 개선 사항 등을 관리하는 데 유용합니다.
풀 리퀘스트 관리: Collaborator는 풀 리퀘스트를 수락하거나 거절할 수 있습니다. 이는 프로젝트에 기여하려는 다른 사람들이 제출한 코드 변경 사항을 검토하고 결정하는 역할을 수행합니다.
Wiki 및 페이지 관리: Collaborator는 프로젝트의 GitHub Pages 및 Wiki를 관리할 수 있습니다. 이는 프로젝트 문서 작성 및 유지 보수에 관여하는 역할을 수행합니다.
README.md 파일은 GitHub repository의 시작점입니다. 이 파일은 일반적으로 프로젝트에 대한 정보와 사용 방법을 소개하는 데 사용됩니다.
프로젝트 설명: README.md 파일은 프로젝트의 목적과 기능에 대한 개요를 제공합니다. 이는 다른 사람들이 프로젝트의 주요 목표와 사용 방법을 빠르게 이해할 수 있도록 돕습니다.
설치 가이드: README.md 파일은 프로젝트를 어떻게 설치하고 사용할 수 있는지에 대한 지침을 제공할 수 있습니다. 이에는 필요한 의존성, 설치 과정, 구성 방법 등의 정보가 포함될 수 있습니다.
사용 방법: 이 파일은 프로젝트의 사용 방법에 대한 예제나 튜토리얼을 제공하는 데 사용될 수 있습니다. 이는 사용자들이 프로젝트를 최대한 활용할 수 있도록 돕습니다.
기여 가이드라인: README.md 파일은 다른 사람들이 프로젝트에 어떻게 기여할 수 있는지에 대한 지침을 제공할 수 있습니다. 이는 기여를 원하는 사람들이 프로젝트에 원활하게 참여할 수 있도록 돕습니다.
라이센스 및 저작권 정보: 이 파일은 프로젝트의 라이센스 정보와 저작권 정보를 명시하는 데 사용될 수 있습니다. 이는 사용자들이 프로젝트를 어떻게 사용할 수 있는지에 대한 법적 규정을 제공합니다.
README.md 파일은 Markdown이라는 경량 마크업 언어로 작성됩니다. Markdown은 간단한 구문으로 텍스트를 서식화하고 HTML로 변환할 수 있습니다. 이는 README.md 파일을 읽기 쉽고 깔끔하게 보일 수 있게 해줍니다.
Git 중앙집중형 워크플로우
일반적으로 master 브랜치 하나만을 유지하며, 모든 변경사항을 이 브랜치에 푸시합니다.
Feature Branch Workflow
Git의 "branch" 기능을 활용한 워크플로우 방식입니다. 이 방식에서는 각 기능 개발이나 이슈 해결을 위한 작업들이 별도의 브랜치에서 진행되고, 해당 작업이 완료되면 master 브랜치에 병합(merge)됩니다.
GitHub의 main branch 보호하기
- 협업 시나리오
팀장
1. 원격 저장소를 생성하고 README.md을 만든 커밋을 1개 생성한다.
2. 팀원을 콜라보레이터로 초대한다.
9. 자신의 원격저장소에서 PR탭을 확인한다.
10. 충분히 리뷰하고 코멘트하고 테스트해본다
-> 테스트는 해당 브랜치를 팀장이 로컬에 땡겨본 후 돌려본다. (fetch로 불러온 후 브랜치 스위치하면 메인브랜치 기반으로 만들어졌기에 바로 테스트 할 수 있음.)
11. 커밋탭에서 review changes를 눌러 approve를 클릭
12. merge pull request를 통해 해당 브랜치를 origin/main에 병합
13. 해당 원격브랜치를 삭제
팀원
3. 해당 원격 저장소를 로컬컴퓨터로 클론한다.
4. 새 브랜치를 생성하고 스위칭한다.
5. 해당 브랜치에 충분히 작업내용을 커밋한다.
6. 작업이 완료되면 해당 브랜치를 푸시한다.
7. 깃허브로 가서 팀장의 원격 저장소에서 Pull Request를 생성한다.
8. PR을 생성할 때 reviewer로 팀장을 태그한다.
14. 로컬 main으로 전환후 origin/main을 pull한다.
15. 병합완료된 로컬 피쳐브랜치를 제거
깃허브에서 삭제한 브랜치 -> 로컬에서 git fetch - -prune (로컬에선 브랜치가 없지만 origin/브랜치명 이 남아 있는걸 삭제)
Fork를 사용하면 원래 레포지토리의 권한 없이도 복제본을 자유롭게 수정하고 활용할 수 있습니다. 이렇게 만들어진 복제본은 원본 레포지토리와는 독립적으로 동작하며, 이를 통해 다음과 같은 일들을 할 수 있습니다.