미니 프로젝트가 곧 시작된다.
Git으로 협업 과정은 필수다. 구글 서칭을 통해 기본적인 플로우와 필수로 알아야하는 명령어들을 찾아 보았다.
원활한 협업 Git사용을 위해 내가 생각이 안 날때 찾아보기위해 정리한다.
Fork
내께 아닌 기존에 레포지토리가 존재한다. 난 이 프로젝트에 기여자(Contribute)가 되고 싶다.
fork: 다른 사람의 저장소에 있는 레포지토리를 내 원격 저장소, 깃허브로 가져오는 것이다.
fork 하고 원격 레포지토리를 내 로컬에 Clone한 후 코드를 수정하면된다.
Clone: 레포지토리를 로컬저장소에 복사
이것저것 수정한 후 내 원격 저장소에 커밋한다. 그 후 원래 퍼온 레포지토리에 Pull Request를 보낸다.
원래 주인이 수정내용 확인 후 허가해주면 merge가 된다.
Pull Request
branch를 만들어 수정한 후 내 브랜치 검토 후 merge해달라고 하는 요청이다.
과정:
1.내 원격 레포지토리에 fork
2.clone
3.remote 설정
4.branch 생성
5.수정(add, commit, push)
6.Pull request 생성
7.Merge Pull Request
8.Merge 후 동기화 후 branch 삭제
과정
fork
레포지토리에 들어가서 포크누른 후 Create fork 누른다.
나한테 포크된 곳곳으로 들어가서 주소를 복사한다.
클론 만들기
$ cd C:\Users\MS\Desktop\공부 # clone할 로컬 폴더로 이동
$ git clone <복사한 레포지터리 URL>
remote 등록
origin 이라는 이름으로 remote url이 내 원격 저장소로 기본으로 설정되어 있다.
포크 했던 원본 저장소도 remote 등록 해야 나중에 동기화 하기 편하다.
# 원본 저장소 remote 등록
$ git remote add <별명> <원본 저장소 url>
# 원격 저장소 확인
$ git remote -v
branch 분기
브랜치에서 작업후 push해도 main은 유지되고 새로 만든 브랜치만 최신이 된다.
그래서 오류 발생해도 뒤로 롤백하기가 쉽다.
브랜치 만들어 작업하고 머지까지 완료되면 원본 remote에서 pull하고 작업한 브랜치를 삭제한다.
# 브랜치 생성
$ git branch <branch 이름>
# 브랜치 이동
$ git checkout <branch 이름>
# 브랜치 생성후 이동 (단축 명령어)
$ git checkout -b <branch 이름>
# 브랜치 리스트
$ git branch
코드 작업 후 add / commit / push
$ git add .
$ git commit -m "commit 메시지"
$ git push origin main
pull request
깃허브에서 상단에 Compare & pull request 누르고 메시지 쓴 후 Create pull request 누른다.
그 레포지토리 주인장이 Merge Confirm 해주면 머지가 된다. 이를 거절할 수도 있다.
branch 삭제
Merge 를 해주면 동기화 하고 branch 삭제한다.
원본 저장소에 Merge 완료되면 로컬 코드와 원본 저장소의 코드를 pull로 동기화한다.
그리고 branch 삭제해 준다.
# 코드 동기화
$ git pull 원래꺼remote # 원본 remote 와 동기화
# branch 삭제
$ git branch -d develop # 용무가 끝난 브랜치 삭제
회고
교육 입과후 처음으로 공동 프로젝트이다. 깃으로 협업은 필수다.
간단하지만 필수적인 방법을 정리해 두니 팀원과 잘 할 수 있을 거 같다. 생각보다 로직이 간단하고 명령어도 사용해본 것들이다. 잘 숙지하고 프로젝트에 적용할거다.
수정 잘못해서 민폐가 되지 말자
'git 공부' 카테고리의 다른 글
Git 정리 - git 개념, 버전관리, 기록보기, 원격저장소 (0) | 2024.05.20 |
---|---|
Git 정리 - 핵심 기본 명령어(add, status, log, reset, commit, remote, pull, clone, branch, merge) (0) | 2024.05.20 |
[git] github에서 협력하여 작업해보자 (organization) (0) | 2020.10.14 |
[git] github에서 branch를 사용해서 가지를 쳐보자 (1) | 2020.10.08 |
[git] github에 나의 프로젝트를 업로드 해보자 (0) | 2020.10.08 |