🎮 게임으로 Git 익숙해지기
https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
설명
Git에는 작업한 것을 되돌리는 여러가지 방법이 있습니다. 변경내역을 되돌리는 것도 커밋과 마찬가지로 낮은 수준의 일(개별 파일이나 묶음을 스테이징 하는 것)과 높은 수준의 일(실제 변경이 복구되는 방법)이 있는데요, 여기서는 후자에 집중해 알려드릴게요.
Git에서 변경한 내용을 되돌리는 방법은 크게 두가지가 있습니다 -- 하나는 git reset을 쓰는거고, 다른 하나는 git revert를 사용하는 것입니다.
Git 리셋 (reset)
git reset은 브랜치로 하여금 예전의 커밋을 가리키도록 이동시키는 방식으로 변경 내용을 되돌립니다. 이런 관점에서 "히스토리를 고쳐쓴다"라고 말할 수 있습니다. 즉, git reset은 마치 애초에 커밋하지 않은 것처럼 예전 커밋으로 브랜치를 옮기는 것입니다.
git reset HEAD~1
Git 리버트 (revert)
각자의 컴퓨터에서 작업하는 로컬 브랜치의 경우 리셋(reset)을 잘 쓸 수 있습니다만, "히스토리를 고쳐쓴다"는 점 때문에 다른 사람이 작업하는 리모트 브랜치에는 쓸 수 없습니다.
변경분을 되돌리고, 이 되돌린 내용을 다른 사람들과 공유하기 위해서는, git revert를 써야합니다.
git revert HEAD
문제
local 브랜치와 pushed 브랜치에 있는 최근 두 번의 커밋을 되돌려 보세요.
pushed는 리모트 브랜치이고, local은 로컬 브랜치임을 신경쓰셔서 작업하세요
level rampup4
풀이
git reset HEAD~1
git checkout pushed
git revert HEAD
'Git > Learn Git Branching' 카테고리의 다른 글
3-2. 인터랙티브 리베이스 소개 (0) | 2025.04.22 |
---|---|
3-1. Cherry-pick 소개 (0) | 2025.04.22 |
2-3. 상대 참조 #2 (~) (0) | 2025.04.10 |
2-2. 상대 참조 (^) (Relative Refs) (1) | 2025.04.10 |
2-1. HEAD 분리하기 (0) | 2025.04.10 |