Git 원격 저장소
원격 저장소 다운로드 (clone)
Git 관리 내역을 포함하여 다운로드한다.
git clone https://github.com/0giri/...
로컬 저장소에 원격 저장소 추가 (remote)
특정 주소에 연결된 원격 저장소를 원격 저장소 목록에 추가한다.
git remote add origin https://github.com/0giri/...
git remote
git remote -v
-v 옵션 : 연결 주소를 포함한 원격 저장소 목록 출력
(아무것도 붙지지 않으면 원격 저장소 목록만 출력)
로컬 저장소의 커밋 내역을 원격으로 업로드 (push)
-u (--set-upstream) 옵션은 현재 브랜치와 명시된 원격 저장소의 브랜치를 연결하여 이후 git push만 해도 자동으로 해당 브랜치에 업로드 되도록 설정해준다.
git push -u origin main
git push
git push -f
git push origin --delete dev
-f (--force) 옵션 : 원격 저장소를 현재 로컬 저장소의 내역으로 강제로 맞춘다. (협업시 주의)
--delete 옵션 : 원격 저장소의 브랜치를 지운다.
원격 저장소의 최신 커밋을 로컬로 가져와 합치기 (pull)
협업을 할 때 다른 누군가가 원격 저장소에 push한 커밋이 있다면 내 코드를 push 하기 전에 pull을 사용하여 원격 저장소의 변경 내역을 내 로컬로 받아와야 한다.
git pull
git pull --no-rebase
git pull --rebase
--no-rebase 옵션 : merge 방식으로 pull을 진행한다.
--rebase 옵션 : rebase 방식으로 pull을 진행한다.
(로컬 브랜치의 수정사항이 원격 브랜치의 끝에 이어 붙는다)
원격 저장소의 변경사항 확인 (fetch)
원격 저장소에 브랜치가 새로 생긴 것 등의 변경사항을 로컬로 가져오기만 한다.
이후 checkout을 통해 변경사항을 확인하고 상황에 따라 merge/rebase 하면 된다.
pull = fetch + merge/rebase
git fetch
pull 대신에 fetch와 merge를 직접 사용하여 명시적으로 사용하는 것도 좋다.
Pull Request (PR)
Pull Request란?
변경사항을 merge하기 전 리뷰를 거치기 위해 사용한다.
팀원들의 동의를 거친 뒤 대상 브랜치에 적용하는 방식이며,
몇 명이 동의할 시 merge될 것인지 등을 설정 할 수 있다.
PR 생성하기
- 새로운 브랜치 생성 후 변경사항 커밋하여 푸시
- GitHub 레포지토리 페이지의 Compare & pull request
또는 브랜치 목록 페이지의 New pull request 클릭 - 메시지 작성 후 Create pull request 클릭
Git flow를 사용한다면 feature, hotfix 등의 브랜치 만들어 작업 후
develop 브랜치에 PR 생성
PR 처리하기
- GitHub 레포지토리 페이지의 Pull requests 탭 클릭
- 대상 풀 리퀘스트 클릭하여 내용 검토
반려 : Close pull request
승인 : Merge pull request
코멘트 : 의견이 있다면 코멘트 달기
Issue
Issue 생성하기
버그나 문제 제보, 추가할 기능 등의 이슈 추가
- GitHub 레포지토리 페이지에서 Issues 탭 클릭
- New issue 클릭하여 이슈 작성
(필요시 label, milestone, asignee 지정)
Assignees : 이슈 할당받을 사람
Milestone : 이슈의 주제 묶음 (특정 목표 등)
Issue 처리하기
관련 개발 착수하여 처리 후 해당 issue 페이지에서 이슈를 Close 한다.
브랜치명이나 커밋 footer에 이슈 번호 반영하는 등 팀의 협업 방식에 따라 작업
Author And Source
이 문제에 관하여(Git 원격 저장소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@0giri/Git-원격-저장소저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)