12.4.3 저장소 분리
앞에서 우리는 저장소를 분리하려고 커밋을 지정했습니다. 또 지정한 커밋을 기준으로 브랜치를 만들고, 이를 원격 저장소의 다른 브랜치 이름으로 전송했습니다. 하지만 아직 로컬 저장소는 변경된 것이 없습니다. 로컬 저장소는 모든 커밋 정보를 가지고 있습니다. 이제 실제적인 저장소를 분리해 보겠습니다.
4단계. 분리를 하려면 가상의 임시 객체를 하나 생성해야 합니다. 이때는 commit-tree 명령어를 사용합니다. commit-tree는 저수준 깃 명령어입니다.
commit-tree 명령어를 사용하여 수동으로 객체를 생성합니다.
infoh@DESKTOP MINGW64 /e/git-replace (master)
$ echo "devide history" | git commit-tree c4cb167^{tree} work2의 해시 값
744e61522896c3ee222fd4f74a099964851454cf
저수준 명령어를 사용하여 임시 객체를 생성했습니다. 임시 객체는 아직 다른 어떤 객체와도 연결되지 않고, 떨어져 있는 외톨이 객체입니다.
▼ 그림 12-8 임시 객체 생성