Git

[Git] On branch main nothing to commit, working tree clean

syj0522 2024. 9. 9. 17:32

git status 결과로 On branch main nothing to commit, working tree clean이 출력되는 경우에 대해 알아봅시다. 간단히 해석해보면 현재 브랜치인 main에 더 이상 커밋할 내용이 없고, 작업 공간이 clean하다는 의미입니다.

working tree가 clean하다는 것의 의미

브랜치를 여러 개 생성해 개별로 작업하면서 생긴 커밋들이 메인 브랜치에 모두 merge되어 현재 프로젝트가 가장 마지막 커밋까지 모두 반영되어있는 상태, 그래서 원격 저장소와 로컬 저장소가 같은 모습인 상태를 의미합니다. 모든 내용이 커밋되었고, 더 이상 커밋할 내용이 없다. Git은 이 상태를 working tree가 "clean"한 것으로 인식합니다.

이 메시지가 나타나는 경우는 다음과 같습니다.

(1) merge conflict 해결 후

이 메시지는 보통 conflict를 해결하고 난 후에 볼 수 있습니다.

merge할 때 발생한 충돌을 해결하고 나서 add, commit을 하면 레포지토리의 모든 변경사항이 커밋되어 origin/main (원격 저장소)과 main (로컬 저장소)의 상태가 동일해집니다.

(2) 아무런 변경사항이 없는 경우

마지막 커밋 이후에 아무런 변경사항 없이 git status를 입력해도 이 메시지가 뜰 수 있습니다.

이 때 발생하는 메시지는 다음과 같습니다 :

On branch main

Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

중간에 추가된 Your branch is up to date with 'origin/main'은 현재 브랜치(main)가 origin/main이라는 원격 저장소와 같은 최신 상태임을 의미합니다. 로컬 저장소의 변경사항이 원격 저장소로 모두 push되었음을 알 수 있습니다.