티스토리 뷰
기존의 repository를 클론해서 제 저장소에 가져오고,
수정하여 Pull Request하고,
merge가 되는 것 까지는 좋은데🤔
제가남긴 commit이라던가..
열심히 열심히한 흔적이 보이질 않더라고요😱
그래서, 흔적을 남길 수 있는 방법을 찾아냈습니다..!
🧾 Process
내 기록이 남겨져있는, clone해온 원본 저장소의 활동 log를
내 새로운 (원격)저장소로 가져올⚾️ 겁니다!
(이 과정들은 local에서 진행하게 됩니다)
정리하면,
- local에 원격저장소 2개(내 새로운 저장소랑 내기록이 남아있는거)를 가져와서
- 내꺼 repo에 내기록이 남은거를 복사해서
- 새로운 내 저장소에 붙여넣은 다음,
- push해서 원격에도 저장시킬 겁니다!
1️⃣ local에 clone 받기
git clone [내 새로운 저장소 주소] // 1번 저장소
git clone [내 흔적이있는, clone해온 원본 저장소 주소] // 2번 저장소
local에 원격저장소 2개를 가져옵니다⚾️
(이후, 원활한 설명을 위해 1번, 2번 이라고 labeling을 해둘게요!)
2️⃣ 1번 저장소에 2번 저장소 경로를 등록
cd [local에 저장된 1번 저장소 폴더]
git remote add [remote label] [2번 저장소가 저장되어있는 경로]
내 기록들을 집어넣을, 새로운 저장소 폴더로 들어가서
새로운 remote label을 만들어내는 과정이에요!
(remote label은 정해진 양식이 없어요😲)
다시말해,
내꺼 repo저장소에
다른 repo의 경로를 등록시키는 과정이에요
여러개의 repo경로가 등록되는 경우,
그 구분을 하기위해 이름표(label)를 적어주는 것이고요!
3️⃣ 등록된 2번 저장소 label을 이용하여, 정보가져오기
git fetch [remote label]
이렇게 해주면, 새로운 브랜치들이 생겨날 거에요!
그 브랜치들 중에, 자신의 활동 log가 마구마구 남겨져있는 브랜치가 뭔지 찾아주시면 돼요!
(보통은, main브랜치겠지만.. 혹시나하여😅)
4️⃣ 가져온 정보를 1번 저장소에 합치기
git merge [브랜치 이름]
"자신의 활동 log가 마구마구 남겨져있는 브랜치"를 merge
시켜주면 끝~~!
✔️ 하지만, 어려울거에요.. 🤯
브랜치 이름이 뭔지 잘 헷갈리는 경우
git fetch
를 진행하게 되면, 새로운 브랜치가 생겼다고 목록이 쭉 뜰꺼에요![2번 저장소이름]/main [2번 저장소이름]/test1 [2번 저장소이름]/test2
이런 식으로 말이죠!
여기서 만약test1
브랜치를 합쳐야 한다면,git merge [2번 저장소이름]/test1
이런 식으로 적어주면 됩니다!
(그래도 헷갈리면 댓글을 남겨주세요.. 😢)상관없는 repo라는 오류⚠️가 발생하는 경우
fatal: refusing to merge unrelated histories
이런 오류가 발생한다면,
git merge --allow-unrelated-histories [브랜치 이름]
관련 없어도, 허락한다는 명령을 붙여주면 정상적으로 작동됩니다😁
이렇게, clone으로 가져왔던 git repository를 내 저장소로 합치는 방법을 정리해봤어요!
익숙해지면 금방금방 잘 되는데,
첫 진입장벽이 높은거 같아요😢
(그래서 이해가 안되는 부분을 찝어주시면 정말정말 감사할거에요🙇🏻♂️)
이해가 안되는 부분이나, 틀린 부분이 있으면 코멘트를 남겨주세요!
피드백은 정말정말 환영입니다🎉🎉
Reference
'Git' 카테고리의 다른 글
perssonal access token으로 비공개 레포 git clone 하기 (0) | 2021.10.17 |
---|---|
git remote 저장소에서만 보이는, 이상한(?) 파일, 폴더 삭제하기 (0) | 2021.03.26 |
git 취소 명령어 (add, commit, push, pull, merge 취소 방법) (0) | 2021.03.26 |
git init, git config, git add, git commit (0) | 2021.02.24 |