1. github에서 Organization 생성
- Organizaion account name - Unique해야 한다.
- 팀원을 초대한다. 생성이후에 추가할 수도 있다. (People 페이지에서)
- Role: 가급적 owner는 팀장만 하는 것이 좋다.
2. 레포지토리 생성
- Readme 파일 생성
- MIT라이센스 선택 (회사,팀 내규따름)
3. Git ignore 작성
- gitignore.io 사이트에서 키워드 넣으면 자동으로 생성해줌
- 작업중 맨처음 해야하는 일
- .gitignore 는 git이 파일을 추적할 때, 어떤 파일이나 폴더 등을 추적하지 않도록 명시하기 위해 작성하며, 해당 문서에 작성된 리스트는 수정사항이 발생해도 git이 무시하게 됩니 다. 특정 파일 확장자를 무시하거나 이름에 패턴이 존재하는 경우, 또는 특정 디렉토리 아래 의 모든 파일을 무시할 수 있습니다.
- .gitattributes: 파일단위, 디렉토리 별 다른 설정을 부여하고 싶을 경우 아래참고
- 아래의 binary는 글자가 아니라 바이너리라는 뜻, 다른사람이 볼때 깨질수 있으니
- reference: https://thoughtbot.com/blog/xcode-and-git-bridging-the-gap
# Avoid conflicts in pbxproj files(iOS Project)
*.pbxproj binary merge=union
4.Readme.md 작성
예시)
# katecam-practice
이 프로젝트는 git을 연습하기 위한 저장소 입니다.
See [Demo](https://www.google.com/)
<a href= "https://www.google.com/">Demo</a>
## Documentation
### Installation
```shell
$ git clone {repo url}
$ cd {reponame}
$ pip install -r requirments.txt
```
### How To Start
```shell
$python main.py
```
### Dependency
- python==3.10
- django==3.0.0
- requirments^0.10.0
### Features
- 행운의 숫자 추출
- 해운의 숫자 저장
- 행운의 숫자 기반 구매
5. Issue에 대한 작업
- 마일스톤 생성
- 스프린트 단위 작업목표 설정 (보통 마감일을 주말로 잡음)
- 다음단계에서 이슈 생성시 스프린트1에 속하는지 스프린트2에 속하는지 설정할 때 사용됨
- 라벨 생성
- 기본 라벨을 사용해도 되지만 오픈소스프로젝트에 적합하기에 커스터마이즈가 필요함
- 커스터마이즈 참고: https://medium.com/@dave_lunny/sane-github-labels-c5d2e6004b63
- 이슈의 상태, 카테고리, 타입, 중요도, 담당, 도메인(리액트,스프링등) 등을 시각적으로 쉽게 표현하기 위해 사용
- status의 경우 파스텔톤, type/priority는 비비트톤을 사용 (팀규칙따름)
- 긍정적인 라벨의 경우 쿨톤, 부정적인 라벨은 웜톤
- 이슈 템플릿 만들기
- 레포지토리 settings에 들어가서 아래쪽으로 내리면 Features-Issues-Set up templates 버튼이 있다.
- Bug report,feature report를 생성해준다. 다만 기본feature템플릿이 오픈소스에 맞게 되어 잇기에 대신 커스텀 report를 생성하여 아래와 같이 수정을 한다. 수정시에는 markdown을 이용한다.(https://yunzae.tistory.com/149)
- 작성 규칙등을 작성해놓는다.
- 이슈 생성
- Issues - New Issue - 템플릿 선택
- 내용 작성 및 assignees 설정, 라벨 마일스톤등 설정 후 submit 하면 issue 목록에 추가됨
- 또는 팀원이 올린 이슈를 보고 작업당담자를 붙여 주고 마일스톤,라벨등 설정을 해준다.
팀원이 작업후 또는 작업중에는 이슈창 아래부분에서 부족한 부분, 수정 부분등을 코멘트를 남겨준다.(다른 메신저,플랫폼 이용X -> 인수인계시 정보전달, 다른사람이 봤을 때 이해할 수 있음) - 팀원이 많고 이슈가 많다면 레포지토리 메뉴 중 Project를 눌러 프로젝트를 생성해주는 것이 좋다.
- 모든 이슈들은 NEW에서 시작을 해서 Done으로 이동한다.
- 이번 스프린트에서 진행할 것들만 Backlog로 이동이 되고 단계를 걸처서 Done까지 이동한다.
- 프로젝트관리는 팀장(Owner)만 가능하다. 이 때문에 Owner를 2명 두기도 한다.(하지만 리스크가 크다..)
- PR 확인
- 요청받은 PR을 보고 커밋내역과 파일을 확인한다.
- 충돌 등 이상이 없다면 확인
- 문제가 있다면 해당 코드의 +버튼을 누르고 의견(코멘트)을 내면 의견나누기가 시작된다.
(위의 사진 참고)코드를 수정해야한다면 Finish review버튼을 클릭하고 코멘트를 작성 후 Request changes를 클릭한다.
문제가 없다면 Approve를 한다.
코드수정이 필요하다면 팀원이 추가 작업을 하면 PR에 업데이트된 부분이 추가된다. 이것을 확인하고 (File changed에 우상단에 있는reviewed를 클릭하고 Review changes를 클릭한다.
PR을 클릭하여 마무리한다.
'I leaned > Git' 카테고리의 다른 글
Reset, Revert (0) | 2023.09.08 |
---|---|
README.md (0) | 2023.09.08 |
git flow, github flow (0) | 2023.09.08 |
GIT 사용법 - 팀원 (0) | 2023.05.16 |
GIT (0) | 2023.04.24 |