본문 바로가기

git

(26)
error: 체크아웃 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다: ~를 전환하기 전에 이 파일을 옮기거나 제거하십시오. 해당 브랜치 위치에서 checkout을 하려고 했는데 아래와 같은 에러 메시지가 출력되었다. error: 체크아웃 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다: rust/Cargo.lock브랜치를 전환하기 전에 이 파일을 옮기거나 제거하십시오. 내가 현재 작업하고 있는 브랜치에서는 rust 브랜치는 상관이 없어서 Cargo.lock 파일을 삭제했다. 그러고 checkout이 잘 되었다.
현재 브랜치가 ~ 기반이지만, 업스트림이 없어졌습니다. 현재 사용하고 있는 브랜치의 원격을 pull 해오려고 했는데, 갑자기 현재 브랜치가 ~ 기반이지만, 업스트림이 없어졌습니다. 라는 에러가 발생하였다. 기존에 main 브랜치로 추적해서 만들었는데.. 왜그러지 싶었다. 알고보니 해당 브랜치와 연결된 remote branch가 지정되있지 않아서 발생하는 문제라고 한다. 그래서 일단 다음과 같이 해결하였다. git branch --se-upstream-to origin/main ㄴmain 브랜치를 upstream 하려고 했다. upstream은 다른 원격 저장소의 변경사항을 가져오는 기능이다.
브랜치 삭제 안되는 문제 해결 A 브랜치를 삭제하고자 B 브랜치 위치로 checkout 해서 git branch -D A브랜치 를 하려고 했으나, error: ~ 위치에 체크아웃한 'A' 브랜치를 삭제할 수 없습니다 라는 에러가 떴다. 알고보니 내가 A브랜치를 push 하지 않았어서 브랜치 삭제가 안되는 것이었다. 그래서 A 브랜치를 다시 원격 환경에 push하고 B브랜치 위치에서 A 브랜치를 삭제할 수 있었다.
You have not concluded your merge (MERGE_HEAD exists) https://jmlim.github.io/git/2019/02/18/git-pull-fail-problem/ git merge 후 pull 실패 시 해결 방안 - You have not concluded your merge (MERGE_HEAD exists) · 기억하기 위한 개 커밋을 제대로 하지 않았을 경우 아래 메세지가 뜰 수 있음. Pulling is not possible because you have unmerged files jmlim.github.io You have not concluded your merge (MERGE_HEAD exists)라는 에러가 발생했을 때 1) git merge --abort 병합 취소 2) git pull origin 내가 현재 위치해있는 Feature 브..
브랜치 이름 변경하기 기존에 A라는 브랜치 이름을 사용하고 있었는데, B 라는 이름으로 브랜치명을 변경을 해야 했다. 브랜치 이름을 바꿀 수 있나?했던 와중에, 구글에 찾아보니 브랜치 이름을 바꿀 수 있다고 한다. 1) 로컬에서 브랜치명 바꾸기 git branch -m oldname newname -> git branch -m A B 2) 원격저장소(리모트)의 브랜치명까지 변경하기 oldname > newname으로 브랜치 이름을 바꿨기 때문에, 기존에 oldname으로 저장된 원격저장소의 브랜치명이 삭제되어야 한다. git push origin :oldname -> git push origin :A 그러면 터미널에서 oldname 브랜치에 대해서 delete 되었다고 뜬다. newname(B)라는 브랜치 이름으로 바꿨으므로..
develop 추적하는 feature 브랜치 만드는 명령어 origin/develop을 바라보는 feature 브랜치를 생성하는 명령어이다. git checkout -b local-branch-name —track origin/develop local-branch-name에 내가 만든 feature 브랜치 이름을 넣어준다. 그러면 branch 'feature/support-for-merge' set up to track 'origin/develop'. 새로 만든 'feature/support-for-merge' 브랜치로 전환합니다 라는 문구가 뜬다. * git log를 통해 해당 브랜치가 origin/develop을 잘 바라보고 있는지 확인 필요 (HEAD -> feature/support-for-merge, origin/develop)
git 병합 중단 방법(커밋 날리지 않았을 때) develop > stage로 merge를 하려고 하니 그전에 PR을 날려야 할 것 같았다. 그래서 이걸 중단하고자 했는데 방법을 찾아보니 다음과 같이 진행해주면 된다. * Commit을 날리지 않은 상황이어야 한다. develop > stage로 병합하려던 중에 병합 충돌이 났던 코드들을 merge 하는 도중에 이 과정을 중단하고 싶어 git merge --abort를 해주었다. 그러면 지금까지 변경했던 코드들이 다시 제자리로 되돌아가고, stage에도 Resolve하거나 커밋을 날려야 하는 이력들은 사라지게 된다. 이로써 merge 중에 중단이 가능하다.
Error: Your application tried to access @eslint/eslintrc, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. yarn > pnpm으로 바꾸게 되면서 pnpm에서 ESLint까지 적용을 했다. 1) brew install pnpm 2) pnpm install 3) pnpm run lint를 했는데 아래와 같은 에러가 계속 발생하였다. Oops! Something went wrong! :( ESLint: 8.55.0 Error: Your application tried to access @eslint/eslintrc, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. Required package: @eslint/eslintrc ~ package.json과 pnpm list로 여러 lint 버전을..
fatal: (현재 폴더 또는 상위 폴더 중 일부가) 깃 저장소가 아닙니다: .git 갑자기 상위 폴더로 어쩌다 이동이 되었는지.. 다시 클론받은 repo 이름 git:(feature/popup-refactoring) 으로 이동하기 위해서 상위 폴더로 이동을 했는데 fatal: (현재 폴더 또는 상위 폴더 중 일부가) 깃 저장소가 아닙니다: .git 와 같은 에러가 뜨는 것이다. 그래서 구글링을 해서 git init을 해야 하나..? 싶었는데 내가 만든 프로젝트 레포지터리가 아니라서 선뜻 git init을 할 수 없었다. 알고보니, 다음과 같은 상황이었다. Desktop > 클론받은 레포지터리 이름 (.git 없음) Desktop > be > 클론받은 레포지터리 이름 (.git 있음) 이렇게 내가 이전에 2개로 클론을 받았었는데 .git이 없는 걸로 디렉터리 이동을 하고, git 명령어..
hotfix 브랜치를 삭제하고 싶었는데 안되었던 문제 Live 환경에서 문제가 있는 것 같아 hotfix 브랜치를 따서 작업을 하려고 했더니, 코드 상의 문제가 아닌 db상의 문제였어서 db 테이블 내 데이터 값만 수정하였다. 그래서 hotfix 브랜치가 필요 없어서 삭제하려고 git branch -d 으로 브랜치 삭제를 하려고 했더니 브랜치 삭제가 되지 않았다. error '/PC경로/'위치에 체크아웃한 '브랜치명' 브랜치를 삭제할 수 없다는 에러가 표시되었는데, 알고보니 해당 브랜치에서 해당 브랜치를 삭제할 수 없다는 것. 맨 위 사진을 보면 현재 브랜치의 위치가 hotfix/popup_activeList인데, 현재 checkout된 브랜치가 hotfix/popup_activeList 브랜치다. 즉 이 브랜치에서 직접 hotfix/popup_active..