자바의 프로젝트를 GitHub 관리하다보면  repository가 많아져 한 눈에 보기가 힘들다.

그러므로 새로운 저장소를 하나 생성하여 지금까지 작업한 저장소들을 새로운 저장소에 모두 복사해 관리 할것이다.

그전에 그냥 CMD로 가능한지는 모르겠지만 저는 GitCMD로 진행했기에 GitCMD를 다운받아준다. 아래가 링크다

tip : 설치 과정에 체크하는 부분이 많은데 그냥 next 하면된다.

 

Git

 

www.git-scm.com

 

 


목차


(설명이 길다 너무 길다면 요약을 보고 이해가 안가면 설명을 보라)

1. 자신의 컴퓨터 원하는 폴더에 새로운 저장소를 복사한다.

2. 복사한 폴더에 옮길 저장소를 하나씩 복사한다.

3. 복사가 완료가 되었다면 gitHub에 Push한다.

4. 요약 

5. 에러처리

 


새로운 저장소  =  new저장소
옮길 저장소A = 저장소A
옮길 저장소B = 저장소B    라고 칭하고 설명을 이어가겠습니다.

1.1 git cmd 실행

Git CMD를 설치했다면 검색 윈도우검색창에 git만 쳐도 GitCMD가 보일 것이다 실행시켜준다.(사진1)

실행이 되었다면 기본 위치가 C:User\(자신컴퓨터이름)> 으로 되어있다 (사진2)

 

사진 1                                                                      사진2                                                  

1.2 원한는폴더로 이동

그러면 이제 new저장소를 자신의 컴퓨터안 원하는 곳에 복사를 해야한다.  명령어 cd (원하는폴더) 를 입력하면 원하는 곳으로 한칸씩 이동을한다.  cd git 를 입력해서  C:User\coffe\git 으로 이동했다 (사진1)

cd (이동하고싶은 폴더)

사진1

1.3 new저장소 복사하기

git clone [new저장소 주소 ]

이제 git이라는 폴더가 타켓이 된것이다. git폴더 안에 git clone 명령어를 사용해 new저장소를 복사할 것이다.(그림1)

직접 C:User\coffe\git에 들어가 확인해보자  아래 사진처럼 git이라는 폴더에 Study가 복사되었다. (그림2)

 사진1                                                                                      사진2                 

 

1.4 Study로 이동

cd Study

이제 C:User\coffe\git\new저장소가 타겟이 되어야하기에  cd [new저장소] 명령어를 사용해 이동해준다(사진1)

사진1

 

 2.1 Study 폴더안에 저장소 A 복사하기

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

git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 Repository 주소) (옮겨올 Repository의 branch) 명령어를 사용하여 저장소A 를 Study폴더 안에 복사한다.

(해당 Repository 하위의 디렉터리 구조) =  Study 폴더 안에는 아무 폴더도 없기에 폴더를 생성하고 그 생성된 폴더안에 저장소A를 복사해야한다 그러므로 자동으로 폴더를 생성할 폴더이름을 입력해주면된다.

(옮겨올 Repository 주소)  =  저장소A의 주소를 입력한다

(옮겨올 Repository의 branch) =  저장소A의 branch를 입력한다 모르다면 아래 사진에 빨간 네모칸이 branch명이다.

git subtree add --prefix=001 https://github.com/whitewise95/board master

001 이라는 폴더를 만들고 그 안에 https://github.com/whitewise95/board 저장소를 복사하겠다. master이건 branch명

 

2.2  Study 폴더안에  저장소B 복사하기

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

저장소B도 명령어로 입력해준다.  여기까지 되었다면 Study 폴더안에  001 과 002 가 생기고 각 폴더안에 저장소A 와 저장소 B가 복사되었을 것이다.

3.1 commit할 폴더 지정하기

git add . 

git add . 명령어를 사용하여 Study 안에 새로 생성된 모든 파일이 선택되게 된다.

3.2 push할 준비하기

git commit -m "project combined"

git commit -m "project combined" 을 입력한다. 별의미는 없다 add 한것을 commit 한다고 선언해주는 것이다.

3.3 본격적으로 gitHub사이트 안 new저장소에 push하기 

git push origin [new 저장소 branch ]

git push origin [new 저장소 branch ]  명령어를 사용하면  [사진1[ 처럼 001과 002가 푸쉬된걸 확인이 가능하다.

사진1

4.1 요약

 1. gitCMD 설치  >  gitCMD 실행 

2. cd [원하는 폴더]    ex) 이미 생성된 폴더여야함

3. git clone [new저장소주소]        : ex) git clone https://github.com/whitewise95/Study

4. cd [new저장소이름]                     :ex) cd Study

5. git subtree add --prefix=(생성할 폴더명) (저장소A 주소) (옮겨올 Repository의 branch) 

6. git subtree add --prefix=(생성할 폴더명) (저장소B 주소) (옮겨올 Repository의 branch) 

7. git add . 

8. git commit -m "project combined"

9. git push origin [new 저장소 branch ]

10. gitHub 사이트 들어가서 확인하기

11. 이제 저장소A 와 저장소B 는  삭제해도 무방하다

 

5. 에러 

만약 이런 에러가 떴다면 밑에 사이트에서 보고 해결하시면됩니다. 그 외의 오류는 복사해서 구글링하면 다 나오더라고요.

 

github 레포지토리로 git push 시 오류 - Updates were rejected because the remote contains...

pycharm 에서 공부하고 있는 자료구조 코딩들을 git push 하는 도중에 다음과 같은 오류가 났다. 검색 결과, 이와 같은 현상은 github에서 레파지토리를 생성할 때, README.md 파일을 생성했기 때문. 1. 첫

soy3on.tistory.com

 

복사했습니다!