본문 바로가기

IT/Git60

git revert로 커밋 원래대로 복구하기 코드를 작성하다 보면 때로는 실수가 발생할 수밖에 없습니다. 이때 중요한 것은 실수를 빠르게 수정하고 과거의 안정된 상태로 되돌릴 수 있는 방법을 가지고 있다는 것입니다. 이러한 기능을 제공하는 Git의 'Revert' 명령어는 우리의 코드 작업을 안전하게 보호해 줍니다. 2. Revert 명령어란? Revert 명령어는 이전 커밋의 변경 사항을 취소하고, 이전 상태로 돌아가는 역할을 합니다. 이는 과거의 버전을 수정하거나 특정 커밋의 변경을 제거하고자 할 때 유용합니다. 3. Revert vs Reset: 둘의 차이점은? Revert와 Reset은 비슷해 보일 수 있지만, 큰 차이점이 있습니다. Reset은 과거 커밋으로 작업 트리와 인덱스를 되돌리는 반면, Revert는 새로운 커밋을 생성하여 특정 .. 2023. 2. 8.
git reset으로 커밋 취소하기 Git은 협업 환경에서 코드의 관리와 버전 관리를 가능하게 하는 강력한 도구입니다. 그 중에서도 Reset 명령어는 코드의 변경 이력을 다루는 데 큰 도움을 줍니다. 2. Reset 명령어란? Reset 명령어는 특정 커밋으로 작업 트리와 인덱스를 되돌리는 기능을 합니다. 이는 작업한 내용을 되돌릴 때 유용합니다. 3. Reset의 세 가지 모드 Soft Reset: 작업 트리와 인덱스를 되돌리지만, 커밋은 그대로 유지됩니다. Mixed Reset: 작업 트리는 그대로 유지하되, 인덱스는 초기화됩니다. Hard Reset: 작업 트리와 인덱스, 커밋까지 모두 초기화됩니다. 4. Reset 사용 방법 Reset 명령어를 사용하는 방법은 다음과 같습니다. git reset 여기서 는 되돌리고자 하는 커밋의 .. 2023. 2. 7.
git restore 변경사항 스테이징 취소하기 git restore --staged "파일명" 명령어로 스테이징 된 파일을 취소할 수 있다. git status 명령어를 치면 (use "git restore --staged ..." to unstage) 이러한 메시지가 나오기 때문에 외울 필요가 없다. 실수로 스테이징 되었을 때 취소시키거나 여러 개의 파일을 스테이징 해야 되고 한두 개 파일을 제외하고 싶을 때 git add . 명령어로 추가하고 git restore --staged "파일명" 명령어로 제외하는 게 더 효율적 일 것 같다. 파일 생성 파일 수정 git restore 변경사항 스테이징 취소하기 결론 스테이징으로 커밋 단위를 효율적으로 만들기 위해서 알아야 할 명령어인 것 같다. 2023. 2. 6.
git restore로 수정사항 취소하기 git restore "파일명" 명령어를 사용하면 수정한 내용이 취소되면서 최신 커밋 내용으로 복구된다. git restore --source HEAD~"숫자" "파일명" 명령어를 사용하면 HEAD를 기준으로 원하는 커밋을 선택해서 해당 내용으로 변경할 수 있는데 HEAD가 같이 이동하는 건 아니고 내용만 변경이 된다. 그리고 git restore --source "commit-head" "파일명" 명령어를 사용해도 똑같은 기능을 실행시킬 수 있다. 내용 추가 및 커밋 내용 수정 및 복구 결론 git checkout 명령어로 수정사항을 취소하는 것보다 git restore 명령어로 하는 게 훨씬 더 직관적이고 기억하기가 편하기 때문에 git restore 명령어를 사용하는 게 더 좋은 것 같다. 2023. 2. 5.
git checkout 으로 변경사항 폐기하기 git checkout HEAD "파일명" 명령어 또는 git checkout -- "파일명" 명령어로 스테이징 되지 않은 상태의 변경사항을 폐기할 수 있다. 파일을 여러 군데 수정하다가 다시 처음부터 시작하려고 할 때 사용하면 어디를 수정했었는지 기억할 필요 없이 수정전 상태로 돌아가서 유용하게 사용할 수 있을 것 같다. ctrl + z 명령어를 사용해서 되돌릴 수도 있겠지만 여러 번 눌러서 돌아가는 것보다 한 번의 명령어로 돌아가는 게 좋을 것 같다. 파일 생성 및 숫자 추가 git checkout 으로 변경사항 폐기하기 git checkout HEAD "파일명" 명령어 또는 git checkout -- "파일명" 명령어를 사용해서 a,b,c를 폐기했다. 2023. 2. 4.
git checkout HEAD 명령어로 이전 커밋 참조하기 git checkout HEAD~"숫자" 명령어를 입력하면 숫자에 따라서 HEAD 포인터가 있는 위치로부터 얼마나 되돌아갈 것인지를 정할 수 있다. 명령어를 사용하기 전에 HEAD 포인터가 어디에 있는지를 git log 명령어를 통해서 확인하고 사용해야 헤매지 않고 사용할 수 있다. git checkout "commit-head" 명령어와 기능은 같아서 둘 중에 하나를 선택해서 사용하면 될 것 같다. git checkout HEAD 명령어 이동방법1 git checkout HEAD 명령어 이동방법2 결론 가까운 시점으로 이동할 때는 git checkout HEAD~"숫자" 명령어를 사용하는 게 "commit-head"를 복사 붙여넣기 할 필요가 없어서 좋은 것 같고 너무 멀리 떨어진 시점으로 이동할 때는.. 2023. 2. 3.
git checkout 이전 커밋 확인하기 git checkout "commit-hash" 명령어를 사용하면 해당 commit 시점으로 이동해서 작업 내용을 확인할 수 있다. master 브랜치를 가리키고 있었던 HEAD가 commit 시점으로 이동하는 것이다. HEAD를 기준으로 현재 작업내용을 보고있다고 생각하면 쉬울것 같다. git checkout 이전 커밋 확인하기 git checkout "commit-hash" 명령어를 사용해서 원하는 커밋 시점으로 이동을 했고 새로운 브랜치를 생성해서 홀수를 추가했다. 이동을 해서 작업 내용을 보기만 하고 원래의 브랜치로 복귀를 해도 되고 해당 시점으로부터 새로운 작업을 시작할 수 있어서 유용한 명령어인 것 같다. 참고로 커밋 시점으로 이동하는 것을 detached HEAD라고 표현을 한다. 2023. 2. 2.
git stash 삭제 git stash 삭제 명령어로 저장된 작업 목록들이 필요가 없을 때 git stash drop stash@{"숫자"} 명령어로 하나씩 삭제할 수 있고 git stash clear 명령어로 모든 작업 목록들을 삭제할 수 있다. git stash 삭제 2023. 2. 1.