git diff branch1 branch2 실행
이전 단계에서는 git log를 사용하여 히스토리의 서로 다른 부분에 어떤 커밋이 있는지 확인했습니다. 이제 git diff 명령을 사용하여 두 개의 서로 다른 시점 또는 서로 다른 브랜치 간의 실제 변경 사항을 확인해 보겠습니다. 이는 타임머신의 두 버전을 비교하여 정확히 어떤 부분이 추가, 제거 또는 수정되었는지 확인하는 것과 같습니다.
먼저, 프로젝트 디렉토리에 있는지 확인합니다:
cd ~/project/my-time-machine
현재 master 브랜치 하나만 있습니다. 브랜치 비교를 시연하기 위해 feature-branch라는 새 브랜치를 만들어 보겠습니다. 브랜치를 메인 타임라인 (master) 에 영향을 주지 않고 새로운 기능이나 실험을 수행할 수 있는 대체 타임라인이라고 생각하십시오.
git branch feature-branch
이제 새 브랜치로 전환해 보겠습니다:
git checkout feature-branch
브랜치가 전환되었음을 나타내는 출력을 볼 수 있습니다:
Switched to branch 'feature-branch'
이 새 브랜치에서 message.txt 파일을 변경해 보겠습니다:
echo "Adding a line on the feature branch." >> message.txt
이 명령은 message.txt 파일에 새 줄을 추가합니다.
이제 이 변경 사항을 feature-branch에서 커밋해 보겠습니다:
git add message.txt
git commit -m "Add a line to message.txt on feature branch"
커밋 후 다음과 유사한 출력을 볼 수 있습니다:
[feature-branch a1b2c3d] Add a line to message.txt on feature branch
1 file changed, 1 insertion(+)
이제 서로 다른 커밋 히스토리를 가진 두 개의 브랜치 (master 및 feature-branch) 가 있습니다. master 브랜치에는 처음 두 개의 커밋이 있고, feature-branch에는 해당 두 개의 커밋과 방금 만든 새 커밋이 있습니다.
git diff를 사용하여 master 브랜치와 feature-branch 간의 차이점을 확인해 보겠습니다.
git diff master feature-branch
출력은 두 브랜치 간에 다른 정확한 줄을 보여줍니다:
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+Adding a line on the feature branch.
이 출력은 message.txt 파일이 다르다는 것을 보여줍니다. +로 시작하는 줄은 master 브랜치와 비교하여 feature-branch에서 추가된 줄을 나타냅니다.
git diff를 사용하는 것은 프로젝트의 서로 다른 버전 또는 서로 다른 브랜치 간에 정확히 어떤 변경 사항이 있었는지 이해하는 데 매우 강력합니다. 병합하기 전에 변경 사항을 검토하고 특정 수정 사항이 발생한 위치를 정확히 찾아내는 데 도움이 됩니다.
q를 눌러 diff 보기를 종료하고 명령줄로 돌아갑니다.