이것저것

깃허브 리포지토리(Repository) 하나로 합치기

HANBEEN 2021. 3. 9. 19:09
반응형

요새 알고리즘을 공부하며 백준, 프로그래머스 등을 풀기 시작했고, 알고리즘에 관련된 책도 보기 시작했다.

그러면서 깃허브에 코드를 저장하고 싶어 리포지토리를 하나, 둘 만들다 보니 알고리즘에 관한 Repository가 여러 개가 되는 게 보기 싫어 하나로 합치기로 했다.

 

1. 일단 깃허브에서 기존 리포지토리들을 합칠 새로운 리포지토리를 하나 만든다. 난 Algorithm_Study 라는 리포지토리를 만들었다.

 

2. 그런 다음 이 리포지토리를 git clone 을 해주도록 한다.

 

3. cd [리포지토리명]을 입력하고 해당 폴더로 이동한다

 

4. subtree를 이용하는 방법으로 깃 레포지토리를 합친다.

 

git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 Repository 주소) (옮겨올 Repository의 branch)

 

예시) git subtree add --prefix=Baekjoon https://github.com/hanbeene/BAEKJOON_answer.git main

 

 

* 난 Algorithm_Study 리포지토리 안에 Baekjoon이라는 폴더를 만들었는데, 이곳에 기존에 있던 BAEKJOON_answer라는 리포지토리를 넣는 것이다.

 

* 맨 뒤 main 은 기존에는 master 라는 명령어로 이용을 했었던 것 같은데 현재는 master 대신 main으로 바뀌었다고 하는 것 같다.

 

* 만약 ambiguous argument 'HEAD': unknown revision or path not in the working tree 라는 에러가 난다면 기존에 커밋이 없어서 그러는 경우가 있어 아무 내용이나 커밋을 한 번 해주도록 한다.

 

5. git push를 해준다.

 

* 만약 git push를 했을 때 아래와 같은 오류가 난다면 git push origin +main 명령어를 이용하여 push 하도록 한다.
(기존에 데이터가 손실될 수 있어 막은것이라고 한다.)

 

완료

반응형