Branch

CS File·2024년 12월 4일

GIT

목록 보기
3/10

Branch

프로젝트에서의 독립적인 타임라인

  • 독립적으로 작업할 수 있고, 필요하면 병합 가능
  • Head 위치에서 생성

Master/Main Branch

repository를 생성하면 만들어지는 기본 branch

Head

git에서의 현재 위치(branch reference)

Branch Reference

해당 branch가 가리키고 있는 위치

  • branch는 branch의 가장 최신 커밋을 가리킴

Detached Head

branch가 가리키는 위치가 아닌 특정 commit을 가리킬 수 있음

  • commit으로 돌아가 새로운 branch 생성 가능
  • switch를 써서 branch로 복귀가능

명령어

git branch								// 모든 branch 표시
git branch test							// test라는 branch 생성
git switch test							// test라는 branch로 이동
git checkout -b test					// test라는 branch 생성하고 이동
git switch -c test						// test라는 branch 생성하고 이동
git branch -d test						// test라는 branch 삭제
git branch -D test						// test라는 branch 강제 삭제
git branch -m test						// 현재 있는 branch의 이름을 test로 변경
git checkout a1b2c3d					// head가 a1b2c3d라는 hash를 가진 commit을 가리키게 변경
git checkout head~3						// head가 head 위치에서 3개 전 commit을 가리키게 변경
git switch -							// 원래 있던 branch로 복귀
git checkout head a.txt					// a.txt을 head가 위치한 상태의 a.txt로 변경
git checkout -- a.txt					// a.txt을 head가 위치한 상태의 a.txt로 변경
git restore a.txt						// a.txt를 head가 위치한 상태의 a.txt로 복원(변경)
git restore --source head~2 a.txt b.txt	// a.txt, b.txt를 head 위치에서 3개 전 commit의 모습으로 복원
git restore --staged a.txt				// a.txt를 staging area에서 제거(파일은 보존)
git reset a1b2c3d						// a1b2c3d commit으로 회귀하고 이후 commit 삭제(변경사항은 유지)
git reset --hard a1b2c3d				// a1b2c3d commit으로 회귀하고 이후 commit 삭제(변경 유지 안함)
git revert a1b2c3d						// a1b2c3d를 취소하는 commit 생성(이후 commit 유지, 변경 삭제)
profile
공부 내용 정리

0개의 댓글