IT875 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. 여러 개의 스태시로 작업하기 git stash 명령어로 여러 개의 작업 내용을 저장할 수 있고 저장한 작업 내용을 선택해서 불러오기를 할 수 있다. 자주 쓰이지는 않겠지만 알아두면 유용할 것 같다. 여러 개의 스태시로 작업하기 git stash로 저장한 작업 목록을 git stash list 명령어로 확인할 수 있고 git stash apply @{"번호"} 명령어로 원하는 작업 내용을 불러와서 사용할 수 있다. 저장되는 순서는 스택 구조라서 0->three 1->two 2->one로 저장이 된다. 원하는 작업 내용을 가져온 상태에서 다른 작업 내용을 불러오면 충돌이 발생하니 이전 내용을 지우고 다시 불러와야 된다. 2023. 1. 31. 이전 1 ··· 104 105 106 107 108 109 110 다음