개발 기록장

[GIT/GITHUB] 협업을 위한 필수 GIT 명령어 정리(CLI) 본문

GIT 및 GITHUB

[GIT/GITHUB] 협업을 위한 필수 GIT 명령어 정리(CLI)

jxwxnk 2024. 4. 24. 23:31
반응형

GIT 저장소 생성 및 원격저장소(GITHUB) 연동

  • GIT 저장소 생성

        - 새로운 GIT 저장소(repository) 초기화

        - 현재 디렉토리에 새로운 GIT 저장소 생성(.git)

git init

 

 

  • GITHUB 연동

        - 원격 저장소(remote repository)와 로컬 저장소(local repository) 연결

git remote add origin https://github.com/[계정명]/[디렉토리명]
# GITHUB에서 repo 생성 후 주소 복사

 

GIT Branch

  • Branch 생성

        - 새로운 브랜치 생성

git branch [브랜치 이름]

 

  • Branch 변경

        - 앞에서 만든 Branch를 현재 작업 중인 Branch로 변경

git checkout [브랜치 이름]
git switch [브랜치 이름]

 

  • Branch 이름  변경

        - 덮어쓰기 허용하여 브랜치 이름 강제로 변경

        - git은 아직 master 사용, github는 main 사용하므로 충돌 방지를 위해 보통 main으로 변경

git branch -M main #현재 브랜치 이름 main으로 변경
#git branch -M [바꿀 이름]

 

  • Branch 확인

        - 현재 로컬 저장소(repo)에 있는 모든 브랜치 목록 표시

git branch
#git branch -r: 원격 저장소 브랜치 목록
#git branch -a: 로컬/원격 브랜치 목록

 

GIT CLONE

  • REPO 복제

        - 원격 저장소(GITHUB remote repo)의 복제본을 로컬로 가져옴

        - 보통 협업시 공동작업 repo 복제

git clone [원격 저장소 URL]

 

 

GIT COMMIT

  • 수정 파일 스테이징

        - 작업 디렉토리 내에 변경 파일 스테이징 영역에 추가하여 커밋 준비

git add . #변경된 모든 파일 스테이징
#git add [파일명]: [파일명]의 변경사항 스테이징

 

 

  • 디렉토리 상태 확인

        - 스테이징 된 파일 표시, 커밋되지 않은 변경 사항 요약

git status

 

 

  • 변경 파일 커밋

        - 스테이징 영역에 있는 변경 사항 로컬 저장소에 반영

        - 커밋 메시지: 변경 사항에 대한 설명 ex) "modified green btn"

git commit -m "커밋 메시지" 
#git commit -m "modified green btn" hello.py: 관련 파일들끼리 묶어서 커밋

 

GIT PUSH

  • 변경사항 업로드

        - 로컬 저장소의 변경사항 원격 저장소에 푸시

        - -u 옵션: 원격 저장소의 지정된 브랜치와 로컬 브랜치 간의 연결 설정

git push -u origin [브랜치 이름]
#origin: 원격 저장소

 

 

  • GITHUB 원격 저장소 확인 및 PR 수행

        - 코드 변경 사항에 대하여 검토(Review) 요청과 Merge 승인

        - 코드 품질 향상 및 협업 원활화

PR 예시

 

  • 좋은 PR 포맷

         - 주요 변경사항: 간단한 설명

         - 링크: 슬랙 대화 링크, Trello나 JIRA 링크 공유

         - 시급한 정도(데드라인 지정)

                    : 보통 - 가능한 빠르게 리뷰 부탁드립니다.

                    : 긴급 - 빨리 승인 부탁드립니다.(보통 사고가 발생했을때 ex)메인 서버 에러)

                    : 천천히- 급하지 않습니다.

         - 중요 사항

                    : 변경사항에서 집중해야 할 부분

                    : 불안해서 봐주었으면 하는 부분

                    : 필요하다면 오프라인 논의

 

GIT PULL

  • 로컬 저장소 최신화

        - 원격 저장소로부터 최신 변경사항가져와서 로컬 저장소에 업데이트

        - 자신의 작업중인 Branch로 이동하여 PULL

        - 협업시 주기적으로 수행해야 함

        - 최신 변경 사항과 현재 작업 파일과 충돌(conflict)발생 시 파일 수정 필요

git pull

 

  • 변경 내용 임시 저장

        - 현재 작업 중인 변경 사항 일시적으로 스태시에 저장

        - git stash로 저장한 변경 사항은 커밋되지 않음

        - git stash pop으로 저장한 변경 사항 가져옴과 동시에 삭제

git stash
  • 오류

         - 변경(현재 작업) 내용을 저장하지 않고 PULL하면 Commit 오류 발생할 수 있음

             -> Commit 수행 후 PULL 수행

반응형