git

pepe·2025년 11월 8일

Git

분산 버전관리 시스템
저장소(repository)로 관리된다.
원격 저장소를 바탕으로 로컬 저장소를 여러개 둔다.
실제로 작업할 장소는 로컬 저장소이다.
로컬 저장소는 git으로 관리하고
원격 저장소는 github으로 관리한다.


Commit

remote는 github
로컬 repository의 경우는 workspace, index(staging), local repository 세 개로 나눠진다.

workspace는 unstaged상태이다.
여기서 add를 하면 staged 상태가 된다.
여기서 commit을 하면 commited 상태가 된다.
unstaged + add -> staged,
staged + commit -> commited


Branch

코드의 흐름을 분산하는 것


default 브랜치는 main(master)이다.


develop branch를 생성했다.


develop branch로 이동했다.


Merge

현재 작업중인 브랜치를 원하는 브랜치에 병합하는 것
(여기서는 develop을 main으로 merge 한다)
(Head는 현재 내가 작업중인 브랜치를 가리킨다.)

  1. 현재 head를 main으로 옮긴다.
    git checkout main
  2. main 입장에서는 자기가 최신인 줄 알고있다. 나는 develop이라는 별개 브랜치에서 작업했기 때문이다.
  3. develop 브랜치의 commit을 따라가며 변경사항을 적용한다.
    (fast-forward 방식)
    git merge develop

merge의 방식에는 fast-forwad 말고도 많은 방법이 있다.

두개의 브랜치가 합쳐졌고, develop가 더이상 필요가 없어졌다면, git branch -d 브랜치이름 으로 삭제할 수 있다.

Pull Request

한 브랜치에서 다른 브랜치로 병합할 때 사용

Clone

다른 환경에서 이전 repository 정보를 가져올 수 있다.
git clone 깃헙저장소@주소

profile
pepe

0개의 댓글