디렉토리의 변경 이력 확인하기 - git diff
요즘에는 터미널에서 직접 git add와 git commit 명령어를 입력하는 방식이 반드시 필요한 것은 아니다.
대부분의 최신 코드 에디터에는 Git 기능이 기본적으로 내장되어 있어,
GUI를 통해 훨씬 편리하게 버전 관리를 수행할 수 있기 때문이다.
대표적으로 Visual Studio Code에서는 왼쪽 사이드바의 Git 탭을 통해 변경 사항을 한눈에 확인할 수 있다.
파일을 수정하고 저장하면 해당 파일 옆에 M 표시가 나타나며, 이는 파일이 수정되었음을 의미한다.

이 상태에서 + 버튼을 누르면 해당 파일을 Staging Area에 올리는 것으로, 이는 git add와 동일한 동작이다.
반대로 - 버튼을 누르면 staging을 취소할 수 있다.
즉, 터미널 명령어를 직접 입력하지 않아도 파일 단위로 직관적인 선택이 가능하다.


Staging이 완료되면 커밋 메시지를 입력하고 체크 버튼을 눌러 git commit을 수행할 수 있다. 파일 수가 많거나 디렉토리 구조가 복잡한 프로젝트에서는 이러한 방식이 오히려 더 안전하고 효율적일 수 있다.


커밋을 수행하기 전에는 변경 내용이 정확히 의도한 대로 기록되는지 확인하는 것이 중요하다.
단순히 파일을 직접 열어 확인할 수도 있지만, Git에서는 이전 커밋과 현재 상태의 차이를 보여주는 git diff 명령어를 제공한다.
Staging 이후 git diff --staged 명령를 실행하면, 최근 커밋과 현재 staged 상태의 차이점을 확인할 수 있다.
git diff --staged

다만 터미널 기반 diff 출력은 코드가 길거나 변경 사항이 많을 경우 가독성이 떨어질 수 있다.
예를 들어 실제 의미 있는 수정이 없어도 줄바꿈이나 공백 변경만으로 diff가 발생해 혼란을 줄 수 있다.
위에서 "Nice to Meet You!" 부분은 건드린 적이 없는데 이 부근을 지웠다가 다시 입력된 것으로 표현한다.
그 이유는 다음 줄인 "Have a Nice day!"를 입력하는 과정에서 enter키를 한번 쳤다가 backspace로 이동했기 때문.
이러한 이유로 시각적인 비교 도구를 사용하는 것이 더 적합한 경우가 많다.
이를 위해 Git에서는 git difftool 명령어를 제공한다.
이 명령어를 사용하면 외부 비교 도구나 에디터를 통해 변경 사항을 시각적으로 확인할 수 있으며, 복잡한 코드 변경도 직관적으로 분석할 수 있다. 커밋 ID를 함께 지정하면 특정 커밋 간의 차이도 비교할 수 있다.
이 vim editor에서는 'hjkl'키로 방향키 이동이 가능하고 ':q'나 ':qa'를 입력하면 종료된다.

커밋 ID는 git log --oneline --all 명령어를 통해 확인할 수 있으며, 각 커밋 앞에 표시되는 짧은 해시 값이 커밋 ID다.
이 ID를 사용해 두 시점 간의 변경 사항을 비교할 수 있다.

git log --oneline --all
위 명령어를 치면 commit 내역을 볼 수 있다.
아래의 여기 노란색 글씨가 현재 commit id이다.

아래 명령어를 입력하면 현재 디렉토리와 지정된 commit id 간의 차이점을 비교해준다.
commit id는 2개까지 입력이 가능하다.
git difftoll fe0cf66

에디터 확장 기능으로 편하게 사용하기 - Git Graph
다만 최근에는 에디터 확장 기능이 매우 잘 발달해 있어, 굳이 git difftool을 직접 사용할 필요도 없는 경우가 많다.
VS Code의 Git Graph, Git History와 같은 확장 기능을 설치하면 커밋 로그를 시각적으로 확인하고,
특정 커밋이나 파일 간 차이를 마우스 클릭만으로 비교할 수 있다.

이러한 도구를 활용하면 특정 날짜에 어떤 파일이 어떻게 수정되었는지 쉽게 추적할 수 있으며, 커밋이 길고 복잡한 프로젝트에서도 변경 이력을 효과적으로 관리할 수 있다. 여기서는 Git Graph를 설치하고, View Git Graph (git log)를 클릭한다.


그러면 다음과 같이 나온다.

git log 입력한 거랑 똑같은 화면이 나오는데 세부 commit을 확인하고 비교해볼 수 있다.

그래서 이 날짜 이 당시에 어디를 어떻게 수정했는지를 다 확인할 수 있다.

우클릭해서 현재 파일과 비교할 수도 있다. 특히 commit이 좀 더 길고 복잡할 경우 이게 더 편할 수도 있다.

결국 Git은 반드시 터미널로만 다뤄야 하는 도구가 아니라,
상황에 맞게 가장 편리한 인터페이스를 선택해 사용하는 것이 바람직하다.
'Tool 활용법 > Git과 GitHub 활용법' 카테고리의 다른 글
| [Git 기초 1] git으로 파일 추적 및 기록하기 (git init, git add, git commit) (0) | 2026.01.19 |
|---|---|
| GitHub의 역사 (Microsoft의 인수와 Copilot의 등장) (0) | 2026.01.19 |
| Git을 활용한 버전관리가 표준이 된 이유 (Git 설치 및 세팅하기) (0) | 2026.01.19 |