목록컴퓨터/git (3)
취미생활
작업하다가 이렇게 하는게 아니구나 라는 생각이 들 때가 있다. 지금 작업 중인 파일만 이전 버전으로 되돌리고 싶은데 전체 리셋을 하기 위해 파일을 백업해야 할까? 귀찮아 죽겠는데... 그럴 땐 특정 파일에 이 명령어를 입력해주자 git checkout 파일이름 짜잔! 아주 손쉽게 작업 이전으로 되돌리는데 성공했다. 그런데 문득 든 생각... 특정 지점으로 파일을 복구할 수도 있을까? 해당 파일을 test commit 시점으로 되돌려보겠다. 일단 git log에서 커밋 코드를 복사한 뒤에 아래 명령어와 같이 사용한다. git checkout 커밋코드 파일이름 짜잔! 참고로 HEAD~1, HEAD~2, HEAD^1 를 커밋코드에 넣어서 사용할 수도 있다. 정말로 해당 파일이 이전 커밋 시점으로 되돌린 건지 ..
git merge를 진행하다보면 실수로 merge를 할 경우 되돌리다가 branch가 꼬이는 현상이 생기는데 아래 예시를 보자 해당 상황은 feature에서 시작된 branch인 mistake가 master와 merge 하였다. 이 때 mistake branch에서 commit을 취소하려면 아래 코드를 입력하면 된다. git reset --hard HEAD^ 아주 손쉽게 되돌아 왔다. 그렇다면 mistake branch를 master로 옮기는 방법도 있을까? 당연히 있다. 이럴 때는 HEAD^2를 같이 입력해주면 된다. git reset --hard HEAD^2 짜잔, 아주 손쉽게 branch를 옮겨가는데 성공했다. 참고로 이거 관련해서 좀 찾아보다가 HEAD~2가 HEAD^2와 같다는 해외 블로그를 봤..
$git reset --hard 가끔씩 모든 걸 되돌리고 싶을 때가 있다. 이럴 때는 git reset --hard 명령어를 통해 모든 코드를 되돌릴 수 있다. 근데 또 그럴 때가 있다. 되돌린 코드를 되돌리기 전으로 되돌리고 싶을 때가 있다. 이럴 때는 git reflog 명령어를 통해 다음과 같은 방식으로 git reset --hard 명령어를 취소할 수 있다. $git reflog --oneline # 되돌릴 commit code 확인 $git reset --hard 아래 예시는 $git reset --hard 명령어를 통해 이전 commit으로 되돌린 상황이다. 이렇게 되면 기존에 작업했던 코드가 전부 날아간 상황이 되버리는데, 당황하지 말고 $git reflog --oneline 명령어를 입력해..