병합되지 않은 커밋 테스트
이 단계에서는 일반 커밋 (비 병합 커밋) 을 만들고, git log를 사용하여 병합 커밋 (아직 없지만, 향후 랩에서 다룰 예정) 과 비교하여 히스토리에 어떻게 나타나는지 확인합니다. 이를 통해 다양한 커밋 유형에 대한 이해를 굳힐 수 있습니다.
먼저, message.txt 파일에 작은 변경 사항을 적용해 보겠습니다. 다른 줄을 추가할 것입니다.
~/project/my-time-machine 디렉토리에 있는지 확인합니다.
cd ~/project/my-time-machine
이제 echo 명령을 사용하여 파일에 새 줄을 추가합니다.
echo "Adding another line." >> message.txt
>> 연산자는 텍스트를 덮어쓰는 대신 파일에 추가합니다.
파일의 내용을 확인해 보겠습니다.
cat message.txt
다음과 같은 내용을 볼 수 있습니다.
Hello, Future Me
Adding another line.
이제, 저장소의 상태를 확인해 보겠습니다.
git status
message.txt가 수정되었음을 확인할 수 있습니다.
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: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git 은 우리가 변경한 사항을 인식합니다. 이제 이 변경 사항을 스테이징하고 커밋해 보겠습니다.
git add message.txt
git commit -m "Add a second line to message"
커밋을 확인하는 출력을 볼 수 있습니다.
[master a1b2c3d] Add a second line to message
1 file changed, 1 insertion(+)
이제 git log --oneline을 사용하여 커밋 히스토리를 다시 살펴보겠습니다.
git log --oneline
두 개의 커밋을 볼 수 있습니다.
e4f5g6h (HEAD -> master) Add a second line to message
a1b2c3d Send a message to the future
최신 커밋 (e4f5g6h는 이 예시에서, 해시는 다를 것입니다) 은 우리의 새로운 비 병합 커밋입니다. 이는 master 브랜치에서 직접 이루어진 단일 변경 사항을 나타냅니다.
git log --merges를 다시 실행하면, 이 커밋 중 어느 것도 병합 커밋이 아니기 때문에 여전히 출력이 표시되지 않습니다.
일반 커밋과 병합 커밋의 차이점을 이해하는 것은 프로젝트의 히스토리를 해석하고 다른 사람들과 효과적으로 협업하는 데 중요합니다. 일반 커밋은 단일 개발 라인에서 선형적인 진행을 나타내고, 병합 커밋은 서로 다른 라인의 변경 사항 통합을 나타냅니다.