본문 바로가기

Git

[Git] fetch changes, 브랜치 삭제하면 커밋도 사라질까?

fetch changes


원격 저장소의 변경 사항을 가져오지만  코드를 병합하거나 수정하지는 않음

 

브랜치 삭제하면 커밋도 사라질까?

 

브랜치를 삭제해도 커밋이 유지된다.

git에서 브랜치는 단순히 커밋을 가리키는 포인터역할을 한다.

브랜치를 삭제해도 해당 커밋들은 git 데이터베이스에 남아있다.

다른 브랜치또는 태그가 해당 커밋을 가리키고 있으면 브랜치를 삭제해도 커밋은 안전하다.

하지만 커밋이 없어지는 상황도 있다.

브랜치를 삭제하고 해당 커밋을 참조하는 다른 브랜치가 없거나 태그가 없으면 git은 고아 커밋으로 간주한다. 이럴 경우 garbage collection 기능이 활성화 되면 일정 시간이 지나 해당 커밋이 영구적으로 삭제 될수있다. 

브랜치를 다 삭제할 거면 태그를 달면 된다. 

 

rebase main onto dev

 

main 브랜치의 변경 사항을 dev 브랜치의 최신 커밋 위로 이동 시켜 재배치 하는

'Git' 카테고리의 다른 글

[Git|Android] .idea와 .gradle을 푸시해야하나?  (1) 2025.02.10