커밋을 생성하기 전에 변경한 파일을 해당 커밋에 추가해야 합니다. git status
를 실행할 때 커밋에 파일을 추가하기 전에 명령을 실행하면 changes not staged for commit
이 표시됩니다. 명령 출력의 메시지.
이 가이드에서는 이 메시지가 의미하는 것과 왜 중요한지 논의할 것입니다. 커밋에 추가해야 하는 파일을 준비하는 방법의 예를 살펴보겠습니다.
커밋을 위해 준비되지 않은 변경 사항
Git 리포지토리의 파일은 스테이징 영역 또는 커밋의 일부에서 무시할 수 있습니다.
무시된 파일은 Git 저장소의 레코드에 포함되지 않습니다. 스테이징 영역의 파일은 다음 커밋에 추가될 파일입니다.
스테이징 영역은 커밋에 추가해야 하는 파일과 추가하지 말아야 하는 파일을 선택할 수 있게 해주기 때문에 중요합니다. 커밋을 생성하기 전에 언제든지 스테이징 영역에서 파일을 추가하거나 제거할 수 있습니다.
이것은 준비 영역이 일종의 분류 공간임을 의미합니다. 추가 파일을 커밋에 추가해야 하는 경우 스테이징에 추가할 수 있습니다. 그런 다음 스테이징 영역에 모든 변경 사항을 추가했다고 확신하면 커밋을 만들 수 있습니다.
예시 시나리오
이 메시지를 받으려면 먼저 Git 저장소의 파일을 변경해야 합니다. README.md라는 빈 파일이 있는 Git 저장소가 있다고 가정합니다. 다음을 표시하도록 내용을 변경할 것입니다.
# Example Repo
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
저장소의 파일을 변경했습니다. 다음으로 git status 명령을 실행하여 변경된 모든 파일의 요약을 볼 것입니다.
git status
이 명령이 표시하는 내용을 살펴보겠습니다.
지점 마스터에서
귀하의 지점은 'origin/master'로 최신 상태입니다.
커밋을 위해 준비되지 않은 변경 사항:
(커밋할 내용을 업데이트하려면 "git add..."을 사용) (작업 디렉토리의 변경 사항을 취소하려면 "git checkout -- ..."을 사용) 수정:README.md사전> Git 명령줄은 마스터 브랜치를 보고 있고 현재 브랜치가 원격 브랜치로 최신 상태임을 알려줍니다. 하나의 파일을 변경했습니다:README.md. 이 파일은 아직 스테이징 영역이나 커밋에 추가되지 않았습니다. 작업 디렉토리가 수정되었습니다.
이 메시지를 없애려면 README.md 파일을 준비 영역에 추가해야 합니다. git add 명령을 사용하여 이 작업을 수행할 수 있습니다.
git add README.md
이 명령을 사용하면 커밋에 추가할 파일을 선택적으로 선택할 수 있습니다. 다음으로 현재 스테이징 영역에 있는 변경한 파일로 커밋을 생성할 수 있습니다. git commit을 실행하여 커밋을 생성해 보겠습니다.
git commit -m “docs: Update README.md”
이것은 준비 영역에 추가한 모든 변경 사항과 함께 저장소의 현재 상태에 대한 기록을 생성합니다. 원격 버전이 있는 리포지토리로 작업하는 경우 커밋을 만든 후 리포지토리에 커밋을 푸시할 수 있습니다.
git push
이제 저장소의 로컬 및 원격 버전 모두에 변경 사항이 적용되었습니다.
다시 분기의 git 상태를 살펴보겠습니다.
마스터 브랜치에서 당신의 브랜치는 'origin/master'로 최신 상태입니다. 커밋할 것이 없고 트리 정리 작업 중이 명령은 커밋이나 스테이징 영역에 추가되지 않은 변경 사항이 없음을 알려줍니다. 이것은 저장소가 성공적으로 변경되었음을 의미합니다. 이제 저장소에 README.md에 대한 변경 사항이 포함된 추가 커밋이 하나 있습니다.
결론
"changes not staged for commit" 메시지는 "git status" 명령을 실행하고 파일이 변경되었지만 아직 스테이징 영역에 추가되지 않은 경우 표시됩니다.
이것은 오류 메시지가 아니라 스테이징 영역이나 커밋에 없는 파일을 변경했다는 알림입니다. 커밋에 파일을 추가하고 리포지토리에 커밋하면 메시지가 사라지게 할 수 있습니다.
이제 전문 개발자처럼 Git 오류를 수정하는 데 필요한 지식을 얻었습니다!