깃허브에서 제공하는 블로그 기능을 자사 AI 기술 공유용 블로그(이하 AI 블로그)로 확정함에 따라, 기본적인 깃허브 활용법을 공유하고자 작성한 포스팅입니다. 깃 구동 공간
, 브랜치
. 주요 기능 설명
, 규정
에 대한 글로 구성되어 있지만, 간단한 설명만 있기 때문에 깃 사용시 발생하는 전문내용은 구글링 혹은 GPT등에 물어 해결해 주세요.
깃 구동 공간
- 원격저장소
깃허브(github)가 하나의 예시이며, 중앙저장소 역할을 하는 서버를 지칭하고 온라인으로 접근할 수 있습니다.
- 로컬저장소
각 개발자의 개인 컴퓨터 및 서버에 위치하며, 코드 관리 기능을 가진 일종에 저장소인 git이 설치된 곳을 말합니다.
브랜치
브랜치는 독립적인 작업 흐름을 나타내는 가상의 포인터로, A 개발자가 로그인 기능을 구현하고 B 개발자가 로그아웃 기능을 구현하는 등의 작업을 하나의 코드에서 동시에 진행할 때 발생할 수 있는 코드 충돌을 최소화하기 위해 개발된 기능입니다.
예상컨데 AI 블로그 작성은 하나의 코드 파일 위에서 동시 작업을 할 가능성이 매우 낮아, main
브랜치만 사용해도 문제가 없어 보이지만, 동료 수정 과정을 반드시 거치도록하고, 깃허브 사용에 대한 이해도를 높이기 위해 작업별 브랜치를 사용하는 것으로 정하고 운영됩니다.
브랜치는 작성자 단위가 아닌, 작업 단위를 관리하는 기능이기 때문에, 브랜치 이름을 “작업키워드_작업자”로 명명하는 것을 권장합니다.
만약 타인의 코드를 수정한다면, 타인의 코드 보호를 위해 새로운 브랜치를 활용한 후 타인의 브랜치에 합치는 것을 권장합니다.
브랜치 조회, 생성, 전환 등의 기능이 자주 사용되며 원격에서 브랜치를 지우더라도 로컬에서 따로 브랯니를 삭제해 주어야 합니다.
주요 기능 설명
스테이터스(status)
- 정의
작업 중인 디렉토리에서 변경된 파일 확인하는 기능
- 방법
git status
스태시(stash)
- 정의
로컬 변경 사항을 임시로 저장해 두어 pull
이 가능하게 하는 기능
- 방법
(풀 전에 임시저장) git stash (풀 이후 임시저장내용 되돌리기) git stash pop
풀(pull)
- 정의
원격저장소에 변경 사항을 로컬저장소로 가져오는 기능
- 방법
git pull origin {branch name}
스테이징(add)
- 정의
변경된 파일을 대상으로 커밋 준비를 하는 기능
- 방법
# 내가 로컬에서 지정한 파일만 스테이징 git add {file name} # 로컬에 있는 모든 변경 내용 스테이징 git add .
커밋(commit)
- 정의
로컬저장소에 저장하는 기능
- 방법
git commit –m {commit title}
푸시(push)
- 정의
로컬저장소에 저장된 내용을 원격저장소에 보내는 기능
- 방법
git push origin {branch name}
PR 승인 요청
- 정의
변경 내용을 원본 코드에 병합하기 위해 다른 팀원에게 승인을 요청하는 과정
- 방법
commit 완료 후 원격저장소로 이동하여 아래 그림을 참조 합니다.
동료 승인
- 정의
작성자로부터 요청받은 내용을 승인하는 과정
- 방법
승인을 요청받은 동료는 원격저장소에서 아래 그림과 같이 승인 혹은 수정 요청등의 과정을 진행할 수 있음.
머지(merge)
- 정의
동료 승인이 완료된 브랜치를 main 브랜치에 병합하는 과정
- 방법
동료 승인이 완료된 PR 승인을 확인하면 아래 그림처럼 변화된 것을 확인할 수 있으며,merge full request
-> confirm merge
를 연속해서 클릭하면 완료됨.
브랜치 관련 기능
브랜치 확인
git branch
브랜치 생성
# 브랜치 생성
git branch {브랜치이름}
# 브랜치 생성과 동시에 전환
git switch -c {브랜치이름}
브랜치 변경
git switch -c {브랜치이름}
브랜치 삭제
# 브랜치 삭제
git branch -d {브랜치이름}
# 브랜치 강제 삭제
git branch -D {브랜치이름}
규정(rules)
깃허브는 브랜치 단위로 소유자가 원하는 데로 규정을 만들어 코드 공유과정에 관여할 수 있는 기능을 제공함.
저희 블로그는 main 브랜치에만 규정이 들어가 있으며, main 브랜치에 머지를 하기 위해서는 작성자 외 1인에게 PR 승인을 받는 과정을 반드시 거치게 되어있음.
규정 설정은 Settings
> Rules
> Rulesets
을 통해 가능하며, 좀더 상세한 내용은 https://usage.tistory.com/165 등을 통해 확인할 수 있음.