git

    [GIT] 레포기록을 유지한 채 다른 레포로 옮기기

    레포 기록(commit , push 기록)을 유지하면서 다른 레포로 내용을 옮기거나, 두개의 레포지토리를 한 개로 합치고 싶은 경우가 있다. 그냥 코드를 합치면 될 꺼 같지만 그러면 레포를 작성했던 기록들이 날아가게 되는데 이 기록들을 유지하면서 레포를 옮기는 방법에 대해 소개하겠다. 내가 옮기고 싶은 레포 => A 내가 옮길 레포 (최종적으로 합쳐질 레포) => B 라고 하자. 우선 A의 커밋 기록들을 mirror 옵션을 통해서 가져와야 한다. A의 주소의 HTTPS 주소를 위처럼 복사해주자. git clone --mirror {a의 https주소} 위와 같이 mirror옵션을 활용해서 A의 레포를 복사해온다. --mirror 옵션을 활용하면 저장소의 소스뿐 아니라 커밋 히스토리까지 가져올 수 있기때문..

    [git] 'file' does not have a commit checked out 에러

    NestJs 프로젝트를 git add. 를 통해 커밋을 하려 했는데 다음과 같은 오류를 내보내면서 제대로 되지 않았다. 또한 수정 내역이 다 사라져 버리는현상이 발생히버렸다... git Desktop으로 확인해보니 empty file로 인식하고 있었던 것. 알고보니 하위 폴더 안에 .git 폴더가 또 있으면 발생하는 문제였다. 해당폴더를 삭제해주면 된다. 만약 폴더가 보이지 않다면 숨김폴더옵션을 체크한 후에 검색해보는것을 추천한다. 만약 이미 git add.를 해버렸다면 하위폴더안에 들어가서 git reset HEAD 명령어로 add를 복원한 후에, 하위폴더안의 .git 파일을 삭제하면 된다. 이후 git add.를 하면 잘 동작한다.