[Course 1 ] Part2. Git을 활용한 버전관리_버전관리

Minji Lee·2023년 5월 18일
0
post-thumbnail

깃 명령어 익히기

git(깃): 컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간에 해당 파일 작업을 조율하기 위한 대표적인 버전 관리 시스템(VCS)


깃 처음 설치 후 수행해야하는 코드(딱 한 번만 설정)

  • 개행문자(Newline) 설정 → 개행문자: 특정한 문장 입력 후 처리하는 방식(줄바꿈)
    • 운영체제마다 개행문자를 처리하는 방식이 다름

    • 프로젝트를 여러 컴퓨터에서 사용하기 위해 자동화하여 문제가 없도록 함

      autocrlf: 운영체제마다 자동으로 개행문자 변환

      config: 구성옵션

      # 개행 문자(Newline) 설정
      ## macOS
      $ git config --global core.autocrlf input
      ## Windows
      $ git config --global core.autocrlf true
  • 사용자 정보
    • name과 email은 깃허브에 등록한 이름, 이메일과 일치하는걸 권장

      # 커밋(버전 생성)을 위한 정보 등록
      $ git config --global user.name 'YOUR_NAME'
      $ git config --global user.email 'YOUR_EMAIL'
  • 구성 확인
    # Q키를 눌러서 종료
    $ git config --global --list

버전 관리를 위해 사용하는 코드

  • 현재 프로젝트에서 변경사항 추적(버전관리)을 시작 → init
    $ git init
  • 현재 프로젝트 상태 확인status
    $ git status
  • 변경사항을 추적할 특정 파일을 지정(stage에 올림) → add
    $ git add 특정파일
    **# 모든 파일의 변경사항을 추적하도록 지정**
    $ git add .
  • 메시지(-m)와 함께 버전을 생성(커밋) → commit
    $ git commit -m '커밋 메시지'
    → commit을 하면 새로운 버전이 생성됨(버전관리)
  • 커밋 기록 확인log
    $ git log
    HEAD가 붙어 있는 버전이 가장 최신

원격 저장소(외부 환경)에 저장하기 위해 사용하는 코드

  • 원격저장소와 해당 프로젝트 연결 → remote add origin 원격저장소주소
    # origin이란 별칭으로 원격 저장소를 연결
    $ git remote add origin 원격저장소주소
  • 원격저장소로 브랜치를 전송(push) → push origin 브랜치명
    # origin이란 별칭으로 원격 저장소로 버전 내역 전송
    $ git push origin 브랜치명

원격 저장소에 있는 코드 가져오기

# 원하는 폴더로 이동 후 클론
git clone 깃허브 주소

커밋 되돌리기(reset)

reset —hard HEAD~몇번 뒤로 이동할지

$ git reset --hard HEAD~1
# HEAD부분의 1버전 뒤로 이동

→ reset 명령 최대한 쓰지 말기

되돌리기를 취소할 때

reset —hard ORIG_HEAD

$ git reset --hard ORIG_HEAD
# 커밋 되돌리기 전으로 돌아감

원격저장소에 있는 브랜치 가져올 때 → pull

$ git pull origin master

Netlify 지속적인 배포

Develop and deploy websites and apps in record time | Netlify

지속적인 배포: 코드를 수정하고 깃허브 저장소에 push를 하면, 최신의 내용을 가지고와서 사이트를 자동으로 업데이트

https://singular-griffin-42c71f.netlify.app


브랜치

  • 브랜치 목록 확인branch
    $ git branch
    **# 원격 저장소에 있는 브랜치 내역까지 나옴**
    $ git branch -a
  • 브랜치 생성branch 브랜치명
    $ git branch 브랜치명
  • 브랜치 이동checkout 브랜치명
    $ git checkout 브랜치명
  • 브랜치 생성 후 이동checkout -b 브랜치명
    $ git checkout -b 브랜치명
  • 브랜치 병합(Pull Request) 하나의 브랜치에서 핵심 줄기인 main에 합친다.
    # main 혹은 dev 브랜치로 이동 후
    $ git merge 해당 브랜치명
  • 브랜치 삭제branch -D 브랜치명
    $ git branch -D 브랜치 명
  • master 브랜치를 main 브랜치로 이동
    $ git branch **-m** master main
  • 모든 프로젝트에서 main 브랜치가 처음 생성되게 하게끔init.defaultBranch
    $ git config --global init.defaultBranch main

.gitignore

깃 버전 관리 시스템에서 포함하지 않을 폴더와 파일 설정하는 파일

💡 만약, .gitignore파일을 만들지 않거나, 포함하지 않아 원격 저장소에 올라가게된 경우

1) .gitignore파일 만들기

2) git rm -r —cached .


Git Flow (Git 브랜치 전략)

main(master): 기본/메인/제품 브랜치

dev(develop): 다음 제품 출시를 위해 여러 기능을 병합하는 브랜치

feature/*: 각 기능 개발을 위한 브랜치

release: 이번 제품 출시 직전 최종 테스트(QA)를 위한 브랜치

hotfix: 제품에 버그가 확인되었을 때 긴급 수정을 위한 브랜치

0개의 댓글