반응형

toy프로젝트를 레파지토리에 프로젝트 가볍게 만들어보는데 뭔가 잘 뽑힌 프로젝트는 다른 repository로 분류해서 보고 싶어 졌습니다.
그래서 a레파지토리의 디렉터리를 b레파지토리로 빼는 작업을 하려고 찾아봤습니다.
요약
- git subtree split -P <want split dir> -B <new temp branch>
- checkout
- git remote add origin <new repogitory>
- git push origin -u main
- merge
사용하는 Tool
- github desktop
- git bash
- github site

단순하게 그림으로 표현하면 위와 같습니다.
기본적인 원결과 로컬 관리
git 명령어 사용법은 찾아봐주시면 감사하겠습니다.
깃허브 사용하는데 위에 2개 모르는데 디렉터리를 다른 레포지토리에 나눌일은 없겠죠.
git subtree split -P <분리할 디렉터리> -b <임시 저장할 브렌치>
를적어서 한 폴더를 브랜치로 나눠줍니다.
git subtree split -P whatIsThisTeacher -b temp

새로운 branch로 뻗은 모습↓↓↓

새로운 디렉터리를 만들어서 pull 사용해도 좋지만 저는 새로운 레파지토리를 먼저 만들어서 clone 한 다음에 push 해주겠습니다.
기존 레파지토리를 나눈 브랜치에서 remote를 만든 레파지토리에 걸고 push 해주시면 됩니다.
새로 만든 레파지토리 ↓↓↓

기존 브렌치에 이미 remote 되어있는 것을 끊어주고 새로 만든 레파지토리에 걸어주겠습니다.
git remote remove <remote name>
SOLUTION_SHINJH@DESKTOP-2CRPE2T MINGW64 /c/workspace/github/LoGin_ToyProjectPlayGround (temp)
$ git remote remove origin
SOLUTION_SHINJH@DESKTOP-2CRPE2T MINGW64 /c/workspace/github/LoGin_ToyProjectPlayGround (temp)
$ remote
bash: remote: command not found
SOLUTION_SHINJH@DESKTOP-2CRPE2T MINGW64 /c/workspace/github/LoGin_ToyProjectPlayGround (temp)
$ git remote add origin https://github.com/loginshin/whatIsThisTeacher
위와 같이 연결돼 있는 것을 끊고 새로 연결해 주는 코드입니다.
git push origin -u main
깃허브에 commit 내역 포함 복사되어서 push 할 수 있습니다.

이제 temp에서 main으로 merge 해주면 commit 메시지 가지고 오는 걸 볼 수 있습니다.

728x90
반응형
'깃허브, 노션' 카테고리의 다른 글
| 깃허브 데스크탑(Github Desktop) 사용법 및 시작하기 (37) | 2024.08.12 |
|---|---|
| github master브랜치를 내 브랜치로 merge, 브랜치 최신화해서 작업하기 ,로컬 git 병합 (2) | 2024.04.29 |
| github 깃허브 사용자 제외 pull request만 할 수 있도록 제한 걸기, branch protection rules, restrict (0) | 2023.11.21 |
| github 깃허브 commit history에서 과거 파일, 코드 사이트에서 확인하기 (0) | 2023.08.11 |
| Visual Studio Code 로 markdown 편집기로 사용 vscode 마크다운 편집기 (2) | 2023.06.18 |