버전 삭제
- 특정 버전으로 되고 싶으면 특정 버전으로 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를 사용
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