git branch 및 merge, FullRequest 실습

강준호·2024년 2월 19일

Git

목록 보기
5/6

깃 GIT

브랜치

  • Branch는 코드를 여러 버전으로 나누어 독립적으로 작업할 수 있는 기능이에요.
  • 각각의 브랜치는 서로 영향을 주지 않으며, 다양한 기능 개발 및 테스트에 유용해요.

기본설정

git config --global user.name "이름"
git config --global user.email "이메일 주소"

주요 명령어

  • git init

    • 디렉터리에 .git 디렉터리를 생성해 줘요
    • .git 디렉터리가 있으면 git 프로그램이 저장소로 인식하기 시작해요.
  • git add

    • git에서 추적중인 파일들의 변경사항을 staging 상태로 올려줘요.
    • 아직 추적중이지 않은 파일들이라면 추적을 시작하고 변경사항을 staging 상태로 올려줘요.
  • git branch

    • 현재 브랜치를 조회하거나 새 브랜치를 만들어요
  • git switch

    • 다른 브랜치로 전환해요.!
  • git checkout
    - 과거의 버전으로 갈때 checkout. 그냥 전환은 switch 쓰자.

  • git remote set-url _____ ____

    • 원격 저장소를 추가해요.
  • git remote set-url [origin ____]

    • 원격 저장소를 추가해요.
  • git push

    • 로컬 브랜치의 변경사항을 원격 저장소에 업로드해요
  • git pull

    • 원격 저장소의 변경사항을 로컬에 다운로드해요
  • git merge

    • 다른 브랜치의 변경사항을 현재 브랜치에 병합해요.
  • git rebase

    • 한 브랜치의 변경사항을 다른 브랜치에 재정렬하여 적용해요
  • git stash

    • 작업 중인 변경사항을 임시로 저장하고 나중에 다시 적용할 수 있어요
    • stash pop 으로 클립보드 같은곳에서 꺼내서 쓸 수 있음.

git push -u origin main => 처음에 한번하면 git push 만으로 계속 push 가능


git log 좀더 편하게 보기

git log --oneline

커스텀은 아래를 터미널에 추가하자!

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

이후

git lg

로 예쁘게 잘 나온다

github 연동된 repo 바로 여는법

npm i -g git-open

이후

git open

Full Request

  • 풀리퀘스트 되면, 브랜치 삭제를 눌러야해.

  • 로컬에 있는 브랜치는 내가 직접 삭제해야하는데 이때,

//내  git보다 상위브랜치로 ex) dev
git switch dev
git branch -d <branch-name>
  • 머지된걸 삭제해야 현재 브랜치가 진행이 끝났구나 알 수있음

Rebase

rebase 는 베이스만 바꾸는거. 별도의 가지가 남아있지는 않아, 커밋은 남아있음.

base 자체를 끌고오니까 깔끔해짐.
머지하는 커밋을 붙이는게 아니라,

리베이스로 한줄로 만들 수 있어.


squash

  • main <- dev 할때는 스쿼시로 뭉개버리면서 머지

0개의 댓글