Git 브랜치명과 폴더명이 중복되었을 경우
반응형
후... git checkout
를 했더니 수 많은 파일이 overwrriten 되었다. 내 몇 안되는 지식으로는 checkout했을 때 왜 이런 현상이 발생하는 지 애하가 가지 않았다. 커밋이 되지 않은 파일은 체크아웃 된 브랜치로 딸려오고, 커밋된 경우에는 스무스하게 스위칭되야한다고 생각했다. 내가 이해했던 현상과 진짜 원인을 알아보자.
내가 이해했던 현상
로컬 브랜치에 아래 파일들 작업 후 commit
- add => new_file.java
- delete => deleted_file.java
- modify => modified_file.java
IDEA를 통해 리모트에 있는 브랜치로 checkout했다가 다시 기존에 작업중이던 브랜치로 checkout 시 에러 발생
git checkout 다른브랜치명
git checkout 기존에작업중이던브랜치명
=> error: Your local changes to the following files would be overwritten by checkout:
실제 원인
1. 로컬 브랜치 admin
에 아래 파일 작업 후 commit
add => new_file.java
delete => deleted_file.java
modify => modified_file.java
2. 다른 동료가 리모트에 있는 admin 브랜치 삭제 후, admin/dev 브랜치 생성
로컬
ㄴadmin
origin
ㄴadmin (removed)
ㄴadmin/dev (created)
3. 새로 생성된 /admin/dev 브랜치로 checkout 시 파일들이 덮어쓰기되는 현상 발생
git checkout origin/admin/dev
로컬
ㄴadmin
ㄴadmin/dev (checkout failed)
=> checkout은 실패했지만 admin/dev에 작업된 파일들이 로컬로 땡겨와짐
4. 파일들이 생성된 걸 눈치채지 못하고 로컬의 admin 브랜치로 다시 체크아웃
git checkout admin
=> error: Your local changes to the following files would be overwritten by checkout:
5. 어리둥절
참고 : https://stackoverflow.com/questions/2527355/using-the-slash-character-in-git-branch-name
알게 된 것
- git 브랜치명과 폴더명이 중복되어서는 안된다.
- 인텔리제이는 git command 이력을 저장해준다.
- 공부하지 않은 채 현상만 보고 원인을 찾으려 한다면 오백프로 헤맨다.
- stackoverflow에 허접한 질문을 올리면 감점당한다.
반응형
'엔지니어링 > 개발배움터' 카테고리의 다른 글
[HTTP] 인터넷 네트워크 (0) | 2021.04.29 |
---|---|
Github Branch Protection Rules (0) | 2021.03.27 |
Github Page를 이용한 React 호스팅 (0) | 2021.03.20 |
SSH 파일 업로드 시 pem 키 혹은 패스워드 입력하기 (0) | 2021.02.20 |
Git stash 일부 파일만 적용하기 (0) | 2020.12.16 |
댓글
이 글 공유하기
다른 글
-
Github Branch Protection Rules
Github Branch Protection Rules
2021.03.27 -
Github Page를 이용한 React 호스팅
Github Page를 이용한 React 호스팅
2021.03.20 -
SSH 파일 업로드 시 pem 키 혹은 패스워드 입력하기
SSH 파일 업로드 시 pem 키 혹은 패스워드 입력하기
2021.02.20 -
Git stash 일부 파일만 적용하기
Git stash 일부 파일만 적용하기
2020.12.16