Git - 4. 버전 삭제/되돌리기

BANG·2025년 9월 3일

git

목록 보기
4/7

버전 삭제

  • 특정 버전으로 되고 싶으면 특정 버전으로 reset 해야 함
  • 특정 버전으로 reset 하겠다
  • 다른 사람과 공유된 버전은 삭제하면 안됨!!!!!

git reset 커밋ID

  • 커밋ID 버전 상태로 되겠다
    - message 2 상태가 되면 message 3은 없던 상태였으므로 삭제된 것과 동일
  • 커밋ID 버전으로 reset하겠다
  • "--hard"옵션: 버전을 지우고 수정 작업한 것까지 지움
  • "--soft"옵션: 버전을 지우고 수정 작업한 것은 유지
$ git log
commit ~~8452 (HEAD -> main)
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:43:16 2025 +0900

    message 3

commit ~~~ec5
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:29:20 2025 +0900

    message 2

commit ~~~312
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:21:52 2025 +0900

    message 1
    
    
    
$ git reset --hard 26eb89e1026b4d9f0b1d171f4ff37d8db04a4ec5
HEAD is now at 26eb89e message 2



$ git log
commit 26eb89e1026b4d9f0b1d171f4ff37d8db04a4ec5 (HEAD -> main)
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:29:20 2025 +0900

    message 2

commit 2eb09a5abdf2bef1d7c119e42ec2dc70bf93e312
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:21:52 2025 +0900

    message 1

버전 되돌리기

$ vi hello.txt
$ git commit -am "r3"
[main f560684] r3
 Committer: unknown <1111@~~~~~.com>
 1 file changed, 1 insertion(+)

$ vi hello.txt
$ git commit -am "r4"
[main 55da572] r4
 Committer: unknown <1111@~~~~~.com>
 1 file changed, 1 insertion(+)


$ git log
commit 55da572beb18e1888c4ebdb64bc6127c054ab71b (HEAD -> main)
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:18 2025 +0900

    r4

commit f56068461e55712ccf5cc0553615a3bbfb084e09
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:03 2025 +0900

    r3

commit 26eb89e1026b4d9f0b1d171f4ff37d8db04a4ec5
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:29:20 2025 +0900

    message 2

commit 2eb09a5abdf2bef1d7c119e42ec2dc70bf93e312
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:21:52 2025 +0900

    message 1
  • r4를 지우고 r3가 되고 싶은 상황
    - reset은 r3의 커밋ID를 사용
    • revert는 r4의 커밋ID를 사용

git revert 커밋ID

  • log를 보면 r4 버전이 남아있음!!!!
  • 기존의 커밋은 내버려두고 r4의 변화(작업)를 취소
    - 커밋ID의 작업만을 취소함
  • 반드시 역순으로 revert 작업을 해야 함
    - 순서를 뛰어넘으면 충돌일어남;;;
$ git revert 55da572beb18e1888c4ebdb64bc6127c054ab71b
[main 02c8304] Revert "r4"
 Committer: unknown <1111@~~~~~.com>
 1 file changed, 1 deletion(-)



$ git log
commit 02c83049a7f582cfa7a4977d4f9d7d1a6380f491 (HEAD -> main)
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 23:02:41 2025 +0900

    Revert "r4"

    This reverts commit 55da572beb18e1888c4ebdb64bc6127c054ab71b.

commit 55da572beb18e1888c4ebdb64bc6127c054ab71b
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:18 2025 +0900

    r4

commit f56068461e55712ccf5cc0553615a3bbfb084e09
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:03 2025 +0900

    r3

commit 26eb89e1026b4d9f0b1d171f4ff37d8db04a4ec5
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:29:20 2025 +0900

    message 2

commit 2eb09a5abdf2bef1d7c119e42ec2dc70bf93e312
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:21:52 2025 +0900

    message 1




$ git log -p
commit 02c83049a7f582cfa7a4977d4f9d7d1a6380f491 (HEAD -> main)
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 23:02:41 2025 +0900

    Revert "r4"

    This reverts commit 55da572beb18e1888c4ebdb64bc6127c054ab71b.

diff --git a/hello.txt b/hello.txt
index 7c95e28..7154c7d 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1,4 +1,3 @@
 1
 2
 R3
-R4

commit 55da572beb18e1888c4ebdb64bc6127c054ab71b
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:18 2025 +0900

    r4

diff --git a/hello.txt b/hello.txt
index 7154c7d..7c95e28 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1,3 +1,4 @@
 1
 2
 R3
+R4

commit f56068461e55712ccf5cc0553615a3bbfb084e09
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 22:38:03 2025 +0900

    r3

diff --git a/hello.txt b/hello.txt
index 1191247..7154c7d 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1,2 +1,3 @@
 1
 2
+R3

commit 26eb89e1026b4d9f0b1d171f4ff37d8db04a4ec5
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:29:20 2025 +0900

    message 2

diff --git a/hello.txt b/hello.txt
index d00491f..1191247 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1,2 @@
 1
+2

commit 2eb09a5abdf2bef1d7c119e42ec2dc70bf93e312
Author: unknown <1111@~~~~~.com>
Date:   Wed Sep 3 20:21:52 2025 +0900

    message 1

diff --git a/hello.txt b/hello.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/hello.txt
@@ -0,0 +1 @@
+1
profile
Record Everything!!

0개의 댓글