티스토리 뷰
Git&Github
[오류 해결] fatal: Unable to create '~~/.git/HEAD.lock': File exists.
무화과(Fig) 2024. 6. 14. 12:14
A 브랜치에서 B 브랜치로 넘어갔는데 A 브랜치의 내역이 B 브랜치에 적용되고 A 브랜치의 내역이 삭제되는 문제가 발생했다. 이러한 문제는 가끔 VSCode에서 브랜치 토글이 제대로 되지 않을 때 발생하는데, 해결방법은 아래와 같다.
1. VSCode 강제 종료 및 재실행
- VSCode 강제 종료: 현재 열려 있는 VSCode를 강제 종료한다.
- VSCode 재실행: VSCode를 다시 실행한다.
대부분의 경우 VSCode를 종료하고 재실행하면 문제가 해결된다.
2. . git/HEAD.lock 파일 삭제
강제 종료 후 VSCode를 다시 열었음에도 불구하고 문제가 지속된다면 아래의 방법을 사용하면 된다.
1.Git Clean 커맨드 실행
우선 작업중인 디렉터리의 불필요한 폴더와 파일을 제거한다.
git clean -fd
2. . git/HEAD.lock 파일 삭제
아래 명령어를 사용하여 .git/HEAD.lock 파일을 삭제하면, Git이 다른 명령을 정상적으로 실행할 수 있게 된다.
rm -f .git/HEAD.lock
3. 체크아웃
원하는 브랜치로 다시 체크아웃한다.
git checkout 브랜치 이름
.git/HEAD.lock 파일이란?
.git/HEAD.lock 파일은 Git 명령이 실행될 때 생성되는 잠금 파일이다. 이 파일은 다음과 같은 역할을 한다.
- 동시 실행 방지: 여러 Git 명령이 동시에 실행되어 충돌하는 것을 방지한다.
- 비정상 종료 감지: 명령이 비정상적으로 종료되면.git/HEAD.lock 파일이 남아 있게 되어, Git이 이를 감지하고 다른 명령의 실행을 막아 데이터 손상을 방지해준다.
따라서 .git/HEAD.lock 파일이 남아 있을 경우 수동으로 삭제해 주어야 Git이 정상적으로 작동한다.
'Git&Github' 카테고리의 다른 글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프론트엔드
- 비제어 컴포넌트
- Next.js
- 코드잇스프린트
- innerhtml
- rest parameter
- 리액트
- javascript
- 코드잇 스프린트
- 배열
- 유사배열객체
- 스프린트프론트엔드6기
- 취업까지달린다
- Git
- 객체
- react
- html
- js
- currentTarget
- hydrationboundary
- 제어 컴포넌트
- arguments
- map
- tanstackquery
- Target
- 동기
- 중급 프로젝트
- 비동기
- GitHub
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함