Machineboy空

Git&GitHub 입문 : 5장 깃허브로 협업하기 (issue, PR 템플릿, 커밋 컨벤션, Branch ruleset) 본문

Computer/개념

Git&GitHub 입문 : 5장 깃허브로 협업하기 (issue, PR 템플릿, 커밋 컨벤션, Branch ruleset)

안녕도라 2024. 7. 25. 22:35

1️⃣ 여러 컴퓨터에서 원격 저장소 함께 사용하기

원격 저장소를 기존에 연결된 지역 저장소 외에 다른 지역 저장소에서 사용하려면 원격 저장소에 담긴 내용 전체를 지역 저장소로 가져와야 한다.

  • git clone : 원격 저장소를 지역 저장소로 똑같이 가져오는 것을 복제한다. 혹은 '클론(clone)'이라고 한다.
$ git clone 복사한 주소 붙여넣기 git_home

//원격 저장소 확인
$ git remote -v
  • pullpush 습관화 하기!


2️⃣ 원격 브랜치 정보 가져오기

원격 브랜치에서 정보를 가져와 가져온 정보를 지역 저장소에 병합하기.

  • fetch : 원격 저장소의 정보를 가져오는 기능
    • pull : 원격 저장소의 소스를 내려받는다.
    • merge : 병합하겠다.

3️⃣ 협업의 기본 알아보기

여러 사람이 협업한다면 승인된 공동 작업자에게만 커밋을 올릴 수 있는 권한을 주어야 합니다. 그래야 프로젝트 소스가 무분별하게 수정되는 일을 막을 수 있기 때문입니다. 

  • 공동 작업자 추가하기

  • clone, pull 하고 브랜치 따서 사용하기

4️⃣ 협업에서 브랜치 사용하기

  • pull request : 푸시한 브랜치는 풀 리쿼스트(pull request)를 통해 병합해야 원격 저장소에 반영된다.


🌱 Issue 템플릿   

repository 안에 +create newFile 선택 후, issue_template.md 생성하기

---
name: ✅ Feature request
about: 작업할 내용을 작성하세요!
title: ''
labels: ''
assignees: ''

---


## Description

설명을 작성하세요.

## To-do

- [ ] todo
- [ ] todo

## ETC (참고 자료)

 

https://velog.io/@yulhee741/Github-Issue-Templates으로-Issue-쉽고-체계적이게-작성해보기

 

Github Issue Templates으로 Issue 쉽고 체계적이게 작성해보기

프로젝트 관리도 쉬워지는 이슈 템플릿 😎

velog.io


🌱Commit Convention  

https://velog.io/@shin6403/Git-git-커밋-컨벤션-설정하기

 

Git | git 커밋 컨벤션 설정하기

개발자로 시작한지 얼마 안되고 나서, 첫 직장은 지금도 다니고 있는 모든것을 처음부터 새로 시작하는 스타트업이다.프론트엔드는 작성자 혼자 뿐이었고, 아무것도 모르는 주니어 개발자가 하

velog.io

 

feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정
style 코드 formatting, 세미콜론 누락, 코드 자체의 변경이 없는 경우
refactor 코드 리팩토링
test 테스트 코드, 리팩토링 테스트 코드 추가
chore 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore
design CSS 등 사용자 UI 디자인 변경
comment 필요한 주석 추가 및 변경
rename 파일 또는 폴더 명을 수정하거나 옮기는 작업만인 경우
remove 파일을 삭제하는 작업만 수행한 경우
!BREAKING CHANGE 커다란 API 변경의 경우
!HOTFIX 급하게 치명적인 버그를 고쳐야 하는 경우

🌱Pull Request 템플릿   

repository 안에 +create newFile 선택 후, pull_request_template.md 생성하기

<!--[#이슈번호] Title
ex) [#1] PR Templete 생성
타이틀 양식 참고하고 지우기 !!-->

## 📝 작업 내용

> 이번 PR에서 작업한 내용을 간략히 설명해주세요

## 📷 스크린샷 (선택)
(이미지 첨부 가능)

## 💬 리뷰 요구사항(선택)

> 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
> 
> ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?
 

https://wecandev.tistory.com/150

 

[Git] GitHub pull request template 만들기

1. 시작하며 GitHub 를 사용하여 프로젝트를 진행한다면 커밋 내역을 Pull Request 하고 팀원들과 코드 리뷰하는 시간을 가지게 된다. 덕분에 코드를 merge 하기 전에 변경 사항에 대해 검토하고 팀원들

wecandev.tistory.com

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository

 

Creating a pull request template for your repository - GitHub Docs

When you add a pull request template to your repository, project contributors will automatically see the template's contents in the pull request body.

docs.github.com

https://2jinishappy.tistory.com/337

 

좋은 Pull Request를 만드는 방법과 PR Template 구성

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository Creating a pull request template for your repository - GitHub Docs For more information, see "About iss

2jinishappy.tistory.com

 

 


🌱Branch Rule 설정 및 PR merge 관련 설정  

target을 default로 해줘야함!

 

https://velog.io/@lovelyeonee/Github-Branch-Rule-PR-Approve

 

Github - Branch Rule & PR Approve

Github의 Branch Rule과 이것을 적용한 Code Review & PR Approve 방법에 대해 알아보자.

velog.io

 

https://mine-it-record.tistory.com/692

 

[GIT] Github에서 Pull Request 승인 절차 추가하여 코드 리뷰하기

Set Github Pull Request Approve 깃허브에는 참여 인원이 승인(Approve)을 해야 Pull Request 머지를 할 수 있도록 설정할 수 있는 기능이 존재한다. 이 방법을 통해 "몇 명 이상의 코드 리뷰를 통과해야 한다"

mine-it-record.tistory.com

https://yeonyeon.tistory.com/158

 

[GitHub] Pull Request와 코드리뷰

스터디를 진행하는데 pull request를 통해 내가 푸시한 내역(코드나 글)에 대한 리뷰 진행 및 질문답변을 한다. 하지만 깃허브 기능을 많이 이용해보지 못한 관계로... Pull Request가 뭔지, 왜 필요한지

yeonyeon.tistory.com

 

https://velog.io/@noyo0123/github-%EB%A6%AC%ED%8C%8C%EC%A7%80%ED%86%A0%EB%A6%AC-merge-%EA%B6%8C%ED%95%9C%EB%B6%80%EC%97%AC

 

github 리파지토리 merge 권한부여

github에 collaborator가 merge를 할 수 없게 리파지토리 주인만 merge할 수 있게 하고싶어요. image.png 레퍼런스 : GitHub의 Merge, Squash and Merge, Rebase and Merge 정확히 이해하기 - toast meeup

velog.io

 


* 단축어

git clone 원격 저장소 주소 myhome 원격 저장소를 myhome이라는 지역 저장소로 복제한다.
git fetch 원격 저장소의 커밋을 가져오기만 하고 병합하진 않는다.
git checkout FETCH_HEAD 패치로 가져온 정보가 있는 브랜치(FETCH_HEAD)로 이동한다.
git merge FETCH_HEAD 패치로 가져온 정보가 있는 브랜치(FETCH_HEAD)를 master 브랜치에 병합한다.
git config user.name 현재 깃 환경에서 사용할 이름을 지정한다.
git config user.email 현재 깃 환경에서 사용할 메일 주소를 지정한다.
git checkout -b fixed fixed 브랜치를 만드는 것과 동시에 체크아웃한다.
push origin f 원격 저장소에 f 브랜치 커밋을 올린다.