git status 를 사용하여 앞선 커밋 확인하기
이 단계에서는 git status 명령을 사용하여 로컬 브랜치에 원격 브랜치보다 앞선 커밋이 있는지 확인하는 방법을 배우겠습니다. 이는 로컬에서 변경 사항을 만들었지만 아직 원격 저장소로 푸시하지 않은 경우에 흔히 발생하는 시나리오입니다.
먼저, 프로젝트 디렉토리에 있는지 확인해 보겠습니다. 터미널을 열고 my-time-machine 디렉토리로 이동합니다.
cd ~/project/my-time-machine
이제 새 파일을 만들고 내용을 추가해 보겠습니다. 이 파일의 이름을 future_plans.txt라고 하겠습니다.
echo "Plan for world domination." > future_plans.txt
다음으로, 이 새 파일을 스테이징하여 커밋을 준비해야 합니다.
git add future_plans.txt
이제 변경 사항을 설명하는 메시지와 함께 커밋을 생성해 보겠습니다.
git commit -m "Add future plans"
다음과 유사한 출력이 표시되어 새 커밋이 생성되었음을 나타냅니다.
[master abcdefg] Add future plans
1 file changed, 1 insertion(+)
create mode 100644 future_plans.txt
이제 로컬 master 브랜치에 새 커밋을 만들었습니다. 그러나 이 커밋은 로컬에만 존재하며 어떤 원격 저장소로도 전송되지 않았습니다.
git status를 사용하여 현재 저장소의 상태를 확인해 보겠습니다.
git status
이제 출력은 로컬 브랜치가 원격 브랜치보다 앞서 있음을 보여줍니다 (이 기본 예제에서는 구성하지 않았지만 Git 은 여전히 힌트를 제공합니다).
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: future_plans.txt
nothing to commit, working tree clean
여기서 중요한 줄은 Your branch is ahead of 'origin/master' by 1 commit.입니다. 이는 로컬 master 브랜치에 origin/master 브랜치 (Git 이 예상하는 원격 브랜치의 기본 이름) 에 없는 커밋이 하나 있음을 알려줍니다.
이것은 매우 유용한 정보입니다. 아직 다른 사람과 공유되지 않은 로컬 변경 사항이 있음을 알려줍니다. 원격 저장소가 있는 실제 시나리오에서는 변경 사항을 git push해야 함을 나타냅니다.