중요!! 이 작업을 다 하고 push mirror까지 한 경우에 fork한 repo에 다시 commit을 한다고 해서 이 작업이 psuh mirror로 복사한 레포지토리에 적용되지 않습니다!! 이 작업은 레포지토리를 옮길 때 쓰이는 작업이지 자동화 작업이 아니기 때문입니다!!!!!!
혹시라도 다시 포크해온 레포지토리에 새롭게 커밋한 내용이 있어서 이를 다시 잔디 심기 하고 싶으시다면 .git 파일을 지워주시고 다시 clone bare -> 해당 디렉토리로 이동 -> push mirror 해주시면 됩니다.
[포크해온 레포지토리를 커밋 후 나의 깃허브에 잔디를 심고 싶다면]
포크한 레포지토리에 커밋 작업을 진행해도 내 잔디는 심어지지 않는다.
그래서 나의 잔디 심기 작업을 위해서 fork 해온 repository에 commit 했을 때도 내 깃허브에 잔디가 잘 심어질 수 있게 작업을 진행 했다.
📌참고: https://velog.io/@pgmjun/Git-Fork%ED%95%9C-%EB%A0%88%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC%EC%9D%98-%EC%BB%A4%EB%B0%8B%EC%9D%84-%EC%9E%94%EB%94%94%EC%97%90-%EB%B0%98%EC%98%81%ED%95%98%EA%B3%A0-%EC%8B%B6%EB%8B%A4%EB%A9%B4-Git-Mirror-Push-feat.-%EC%9A%B0%ED%85%8C%EC%BD%94
Repository A를 Repository B로 옮기기
$ git clone --bare [A주소]
$ git push --mirror [B주소]
$ rm -rf [A 폴더]
해당 개념으로 이해 해주셔야 포크해온 레포지토리에 새로운 commit을 진행해도 push mirror해둔 내 레포지토리에 이 commit이 자동으로 업데이트 되지 않는다는 것을 알게 됩니다!
git clone [REPO_URL] [DIR]
의 경우엔 원격 Git 저장소를 복제할 때 사용합니다.$ git clone --bare 여기에 복사한 주소를 넣어주세요
[example]
git clone --bare https://github.com/yeomyaloo/java-lotto-6.git
git bash가 아닌 명령어를 사용해서 진행한다면?
- 일단 Linux 명령어를 Windows 환경에서도 공통 사용하기 위해서 git bash를 사용하기 때문에 Windows 환경인 사람들은 다운 받아 사용하자 편리하다.
- 그렇지 않은 경우라면 원격 환경(=깃허브에 있는 내 레포지토리)에 연결 해둔 로컬 파일(=내 컴퓨터에 있는 폴더)에 위치로 가서 명령어 터미널을 열어서
cd 로컬_파일_주소
를 치고 위의 clone --bare 명령어 작업을 진행합니다!
[명령어 입력 git clone --bare https://github.com/yeomyaloo/java-lotto-6.git]
[작업 후 .git 형식의 파일이 생성됨]
git clone --bare?
히스토리, 브랜치 정보만을 가지는 가벼운 복제본을 만들고 원격 저장소 백업, 공유 목적으로 사용된다.
.git
파일로 이동[명령어]
cd java-lotto-6.git
$ git push --mirror https://github.com/userId/newRepo.git
해당 작업이 끝난 후에 fork repository commit을 진행해도 그에 대한 반응은 적용되지 않습니다. 새로 commit한 내용을 적용하고 싶다면 위의 과정을 똑같이 다시 진행해주셔야 합니다!!!!
1)포크 레포지토리에 새로 commit한 내용이 있고, 2)이를 다시 내 레포지토리에 복사해서 push mirror한 다음 3)잔디를 심고 싶다면?
git clone --bare 포크한_레포지토리_주소
로 다시 복제본을 만들고cd forkRepsitory.git
만든 복제본 디렉토리로 이동해서 git push --mirror 커밋을_복사해올_레포지토리_주소
를 이용해 다시 받아와 합니다.fork해둔 repository에 계속 새로운 내용을 commit해도 이는 자동 적용되지 않습니다! 이를 위한 작업을 다시 진행해주셔야 합니다!!