Git

다른 Repository 코드 가져오기 ( feat. commit history 없이도 가능 )

3jun 2023. 8. 28. 14:40

다양한 기술 스택을 공부하고 다양한 기술 스택을 서로 조합하여 프로젝트를 진행할 때, 매번 프로젝트 템플릿 코드를 세팅하기 번거로운 경험이 있을 것이다. 

또한 여러 사람이 협업을 할 때도 정해진 템플릿 코드를 공유해서 사용할 때도 있을 것이다. 

 

이런 경우에 기존에 repository의 코드를 내가 원하는 위치로 가져와서 사용해야 한다. 보통은 github fork 를 사용하여 해당 repository 코드를 복사한 나만의 repository를 생성하여 작업을 진행할 수 있지만, 보안상의 이유로 특정 조직 github 내에서 private 하게 사용하는 등의 상황이라면 이런 방법을 사용하지 못하는 경우도 존재한다.

 

git clone 을 활용하면 repository 코드를 간단하게 복사할 수 있다. 

git clone [복사하고자 하는 repository url]

이렇게 하면 복사하고자 하는 repository url의 코드 뿐만 아니라 git history까지 함께 복사된다.

 

이때 기존의 git history, 커밋 기록을 제거하고 싶을 때는 아래와 같은 작업을 추가로 진행해주면 된다.

// 1. 로컬에 복사한 repository 코드를 새로 작업을 진행할 repository와 연결
// 복사한 코드를 해당 기존 repository와 연결 제거
git remote remove [복사햇던 repository url]

// 2. 새로운 repository와 연결
git remote add origin [새로 작업을 시작할 repository]

// 보통은 여기까지 작업을 진행하고 나면
// 처음에 clone 했던 repository를 기반으로 코드작업을 진행할 수 있다.
// 만약 기존 repository 코드만 가져오고 commit history는 제거한 채 처음부터 코드 기록을 쌓아나고 싶다면
// 아래 단계를 추가적으로 실행하면 된다.

// 3. commit history 제거 (커밋 기록 초기화)
rm -rf .git

// 4. 새로운 project에 최초 commit 남기기
git add .
git commit -m "[새로운 repository에 남길 최초 commit]"
git push origin develop

커밋 기록을 남기고 싶다면 2단계 까지

커밋 기록을 남기고 싶지 않다면 4간계까지