https://y00n-lee.tistory.com/39
!https://velog.velcdn.com/images/jeeyeon116/post/507187d9-1e64-40e4-a14e-6d16b4d8294f/image.png
git branch -d master
명령은 로컬 Git 저장소에서 master
브랜치를 삭제하는 과정입니다. 아래는 자세한 단계입니다:
터미널 또는 Git Bash와 같은 Git 명령을 실행할 수 있는 환경에서 작업합니다.
로컬 Git 프로젝트의 디렉토리로 이동합니다.
다음 명령을 실행하여 master
브랜치를 삭제합니다:
git branch -d master
이 명령은 현재 체크아웃된 브랜치가 아닌 다른 브랜치에서 실행되어야 합니다.
만약에 master
브랜치가 현재 체크아웃된 상태라면, 오류 메시지가 표시됩니다. 이 경우에는 다른 브랜치로 전환한 후에 삭제해야 합니다.
성공적으로 master
브랜치가 삭제되면, 해당 내용이 로컬 Git 저장소에 반영됩니다.
주의할 점은, 위 과정은 로컬 Git 저장소에서만 master
브랜치를 삭제하는 것이며, 원격 저장소에는 영향을 주지 않습니다. 원격 저장소에서도 master
브랜치를 삭제하고 싶다면, 추가적으로 git push origin :master
명령을 실행해야 합니다.
우선 돌아가고 싶은 버전의 커밋 해시(21929f8
)를 확인한다.
$ git reflog
28ca4ca HEAD@{0}: commit: 오른쪽 버튼 색깔을 파란색으로 변경
8eefd4a HEAD@{1}: commit: 가운데 버튼 색깔을 초록색으로 변경
21929f8 HEAD@{2}: commit: 왼쪽 버튼 색깔을 빨간색으로 변경
그리고 reset
을 이용해 헤드를 특정 커밋으로 옮긴다. reset
의 기본 옵션은 --mixed
이며, 작업 디렉토리는 그대로 유지한 채 헤드와 인덱스를 변경한다. --hard
옵션의 경우 작업 디렉토리와 헤드, 인덱스를 모두 변경한다. 마지막으로 --soft
옵션은 헤드만 변경한다.
$ git reset --hard 21929f8
코드를 수정한 뒤, 파일을 스테이징하고 다시 커밋한다.
$ git add *
$ git commit -m "모든 버튼 색깔을 노란색으로 변경"
이 방법을 사용하면 되돌린 커밋 히스토리가 모두 사라진다. 커밋이후 --force
으로 푸시하면 이미 푸시한 커밋까지 되돌릴 수도 있지만, 권장하는 방법은 아니다.
revert
명령을 사용하면 된다. revert
는 reset
과 달리 커밋 히스토리를 남긴다. 협업을 하는 상황에서 이미 푸시한 커밋을 되돌리고 싶다면 reset
보다는 revert
를 사용하는 것이 좋다. 먼저 돌아리고 싶은 버전의 커밋 해시들(21929f8
, 8eefd4a
, 28ca4ca
)을 확인한다.
$ git reflog
28ca4ca HEAD@{0}: commit: 오른쪽 버튼 색깔을 파란색으로 변경
8eefd4a HEAD@{1}: commit: 가운데 버튼 색깔을 초록색으로 변경
21929f8 HEAD@{2}: commit: 왼쪽 버튼 색깔을 빨간색으로 변경
그리고 되돌리고 싶은 커밋의 범위를 지정해 revert
를 실행하고, 에디터에서 커밋 메시지를 작성한다. 만약 특정 하나의 커밋만 되돌리고 싶다면 커밋 해시를 하나만 입력해도 된다.
$ git revert 21929f8...28ca4ca
Revert "왼쪽 버튼 색깔을 빨간색으로 변경"
Revert "가운데 버튼 색깔을 초록색으로 변경"
Revert "오른쪽 버튼 색깔을 파란색으로 변경"
푸시하면 버튼의 색깔을 바꾼 작업들이 취소된다.
$ git push origin master
히스토리에는 세 개의 커밋이 추가된 것을 볼 수 있다.
$ git reflog
132bf27 HEAD@{0}: commit: Revert "오른쪽 버튼 색깔을 빨간색으로 변경"
b2c409f HEAD@{1}: commit: Revert "가운데 버튼 색깔을 초록색으로 변경"
4ef1104 HEAD@{2}: commit: Revert "왼쪽 버튼 색깔을 파란색으로 변경"
28ca4ca HEAD@{3}: commit: 오른쪽 버튼 색깔을 파란색으로 변경
8eefd4a HEAD@{4}: commit: 가운데 버튼 색깔을 초록색으로 변경
21929f8 HEAD@{5}: commit: 왼쪽 버튼 색깔을 빨간색으로 변경