파일 수정 및 변경 사항 커밋
이 단계에서는 기존 파일의 수정 사항을 추적하는 방법을 배웁니다. 버전 관리의 핵심 기능 중 하나는 시간이 지남에 따라 파일이 어떻게 변하는지 확인하는 능력입니다. 이는 파일이 업데이트될 때마다 변경 사항을 커밋함으로써 가능해집니다.
/home/labex/project 디렉토리에 있는 README.md 파일을 계속 사용하겠습니다. 여기에 새로운 텍스트 한 줄을 추가해 보겠습니다. 다시 echo 명령어를 사용하되, 이번에는 파일 내용을 덮어쓰지 않고 끝에 내용을 추가하는 >> 연산자를 사용합니다.
echo "This is a new line." >> README.md
파일이 수정되었으므로 git status로 저장소 상태를 확인해 봅니다.
git status
Git 은 README.md 파일이 수정되었음을 보고합니다.
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
출력 결과의 "Changes not staged for commit(커밋하도록 스테이지되지 않은 변경 사항)" 아래에 modified: README.md가 표시됩니다. 이는 Git 이 변경 사항을 감지했지만, 아직 다음 커밋을 위해 스테이징 영역에 추가되지는 않았음을 의미합니다.
새 파일을 추가할 때와 마찬가지로, 수정 사항을 스테이징하려면 git add를 사용해야 합니다. 이를 통해 다음 커밋에 이 특정 변경 사항을 포함하고 싶다는 의사를 Git 에 전달합니다.
git add README.md
마찬가지로 이 명령어는 출력이 없습니다. git status를 한 번 더 실행하여 변경 사항이 스테이징되었는지 확인합니다.
git status
이제 파일이 "Changes to be committed" 아래에 표시됩니다.
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
변경 사항이 스테이징되었으므로 저장소 기록에 커밋할 수 있습니다. 업데이트 내용을 명확하게 설명하는 메시지와 함께 git commit을 실행합니다.
git commit -m "Added a new line to README.md"
커밋 확인 메시지가 표시됩니다.
[master <commit_hash>] Added a new line to README.md
1 file changed, 1 insertion(+)
이제 파일을 성공적으로 수정하고 변경 사항을 커밋했습니다. 수정 (Modify), 스테이징 (Stage), 커밋 (Commit) 으로 이어지는 이 작업 흐름은 Git 으로 작업할 때 반복적으로 사용하게 될 가장 기본적인 주기입니다.