git 정리

j(a)son·2022년 10월 24일
0

주요 키워드 및 명령어

> git init
  • 해당 Directory 를 git 이 추적하도록 설정
> git status
  • 현재 git 추적 상태
> git add a.txt
> git add .
  • a.txt 파일의 수정사항을 스테이지에 올린다
> git commit
> git commit -m "commit message"
> git commit -am "commit message"
  • 스테이징된 파일 및 폴더들을 commit 한다
> git log
> git shortlog
  • 커밋 로그 확인
> git config --list
> git config --global / -- local user.name "userName"
  • git configuration 확인
> git checkout -- file.txt OR git restore "file.txt"
> git checkout branchName OR git switch branchName
  • 특정 파일의 수정사항을 취소 (reset) 시킨다.
  • 해당 브랜치로 스위칭
> git diff
> git diff [commit hash]..[commit hash]
  • 두 커밋의 차이점 확인
> git remote add origin URL
> git remote get-url origin
  • 깃에게 remote(원격) 레포지토리 주소 입력시키기
> git push origin branchName
  • origin(원격 저장소) branchName에 push 하기
> git pull origin branchName
  • 원격 저장소 branchName 내용 pull 하기
> git reset HEAD~1 (default : mixed)
> git reset HEAD~1 --soft
> git reset HEAD~1 --hard
> git reset --hard : 모든 수정 사항 현재 커밋 상태로 되돌리기
> gir reset "commit random ID" [--mixed or soft or hard]
  • HEAD로부터 1개 전의 커밋으로 돌아가기

    mixed : add . 하기 전 상태 (스테이징 올라가기 전 상태)
    soft : add . 한 상태 (스테이징 올라간 상태)
    hard : 변경사항 아예 없애기

> git branch branchName
> git checkout branchName
> git checkout -b branchName : 위에 두개 합친 short-cut 명령어
  • 브랜치 하나 만들고 checkout 스위칭 시키기
> git merge branchName
  • 현재 브랜치에 branchName 이라는 브랜치 병합하기
> git merge --abort
  • (컨플릭트 고치기 귀찮아서) merge 취소 하기
> git checkout [HEAD~n] OR [커밋 hash ID]
> git checkout [현재 브랜치 이름]
  • 이전 커밋으로 돌아가기 (과거 코드 관찰용)
  • 이후, 현재 브랜치의 최신 버전으로 돌아오기
> git checkout -t origin/브랜치이름
  • 기존의 원격 브랜치를 기준으로 한 해당 이름의 로컬 브랜치 생성

협업 시 루틴

메인 브랜치

master : 배포 이력 관리를 위한 branch로 배포 버전별로 업데이트
develop : 기능 개발을 위한 branch들을 병합하기 위한 branch

보조 브랜치

feature : 새로운 기능 개발 또는 버그 수정이 필요할 때 마다 develop 브랜치로 부터 분기하여 사용. 개발이 완료된 후 develop으로 merge 한다.
feature/SR+(issue 번호5자리)/설명

커밋 메시지 통일

FEAT : 새로운 기능 추가
FIX : 버그 수정, 기능 보완
SYTLE : 코드 포맷팅 제거, 세미콜론 누락 추가
CHORE : 빌드 업무 수정, 패키지 매니지 수정 ( ex. package.json, package-lock.json, .gitignore etc. )

협업 과정

  1. 새로운 기능 또는 버그 수정이 필요하다고 판단 되면 ISSUE 생성 후
    develop branch 에서 feature/SR00001/할일내용

  2. 모든 코드 개발 or 버그 수정 후 feature/SR00001/할일내용 브랜치 git push origin SR00001

  3. Pull Request SR00001 브랜치 into develop 브랜치

    • PR close 됐을 시 자동 issue close
  4. develop에서 master 브랜치로 PR 날리거나 master 최신 브랜치에서 merge or git pull 해서 push origin

    • master branch 에서 배포 (tag 달아서)
profile
himynameisjason

0개의 댓글