두개 commit의 변경사항(code 또는 파일)을 비교하는 방법을 소개합니다.
1. 두개 commit을 비교하는 방법
git diff <commit A> <commit B>
명령어는 commit A와 commit B의 차이점을 보여줍니다.
다음과 같이 commit a220506
에서 6f91aa3
로 어떤 내용이 변경되었는지 비교할 수 있습니다.
$ git diff a220506 6f91aa3
diff --git a/java/SinglyLinkedList/MyLinkedList.java b/java/SinglyLinkedList/MyLinkedList.java
new file mode 100644
index 0000000..cbb1c38
--- /dev/null
+++ b/java/SinglyLinkedList/MyLinkedList.java
@@ -0,0 +1,116 @@
+// https://leetcode.com/explore/learn/card/linked-list/209/singly-linked-list/1290/
+
+public class MyLinkedList {
+
+ private SinglyLinkedNode head = null;
+
+ static class SinglyLinkedNode {
+ int val;
2. 가장 최근에 반영된 commit의 diff 확인
git diff HEAD^ HEAD
명령어로 최신 commit과 그 이전 commit을 비교할 수 있습니다. 즉, 가장 마지막에 적용된 commit의 diff를 확인할 수 있습니다.
(HEAD
는 브랜치에 적용된 가장 최신 commit을 의미하고 HEAD^
는 그 이전 commit을 의미합니다.)
$ git diff HEAD^ HEAD
diff --git a/java/DoublyLinkedList/MyLinkedList.java b/java/DoublyLinkedList/MyLinkedList.java
new file mode 100644
index 0000000..c980010
--- /dev/null
+++ b/java/DoublyLinkedList/MyLinkedList.java
@@ -0,0 +1,128 @@
+// https://leetcode.com/explore/learn/card/linked-list/210/doubly-linked-list/1294/
+
+public class MyLinkedList {
코드 diff 확인 측면에서, 가장 최신 commit의 변경사항을 보여주는 git show HEAD
명령어와 비슷한 결과를 보여줍니다.
$ git show HEAD
commit 311c1507023981ef3f83e0df58a890f6cffab742 (HEAD -> master, origin/new_branch, origin/master, origin/HEAD, new_branch)
Author: Jeongsik Mun <farfs.dev@gmail.com>
Date: Fri May 22 20:30:15 2020 +0900
Java - Doubly Linked List
diff --git a/java/DoublyLinkedList/MyLinkedList.java b/java/DoublyLinkedList/MyLinkedList.java
new file mode 100644
index 0000000..c980010
--- /dev/null
+++ b/java/DoublyLinkedList/MyLinkedList.java
@@ -0,0 +1,128 @@
+// https://leetcode.com/explore/learn/card/linked-list/210/doubly-linked-list/1294/
+
+public class MyLinkedList {
3. 두개 commit의 변경된 파일 목록 확인
두개 commit 사이의 변경된 파일 리스트만 알고 싶을 때는 git diff <commit A> <commit B> --name-only
명령어를 사용하면 됩니다.
$ git diff a220506 6f91aa3 --name-only
java/SinglyLinkedList/MyLinkedList.java
관련 문서
Loading script...
Related Posts
- Git Alias - 단축/커스텀 명령어 설정
- Git에서 .gitignore 설정 방법
- git clone 명령어로 원격 저장소를 로컬에 저장
- Git - 두개 commit의 차이점 확인 (코드 차이, 파일 차이)
- Git - 브랜치 이름 변경하는 방법
- Git - 특정 commit 삭제, 되돌리기 (reset, revert)
- Git - 리모트 브랜치 생성과 삭제
- GitHub에 ssh-key 등록 방법 (Windows10)
- git log - 특정 author의 commit 리스트만 출력
- git log - commit 리스트 간단하게 출력 (pretty)
- Git - revert 명령어(commit 되돌리기)
- git diff 명령어로 파일 변경 내용 확인
- git show 명령어로 commit 정보 확인
- Git - 브랜치 생성, 삭제, 체크아웃
- Git - 원격 저장소(remote) 추가, 해제
- Git - Staging 영역의 파일을 Untracked로 변경
- Git - commit log에서 수정된 파일 목록 보기
- Git - 마지막 commit 수정, 삭제 방법 (reset, amend 명령어)
- git commit message 에디터 변경 (Vim, Sublime, Atom, VSCode)
- Git - blame 명령어, 코드 수정한 사람과 Commit 찾기
- Git - Patch 파일 만들기 & 적용하기