다른 사람의 GitLab Repository에서 Branch 복사해오기
by 현생사는갓생지망생반응형
GitLab에서 작업을 하다보면
현재 내 Repository가 아닌, 나의 다른 Repository 혹은 다른 사람의 Repository에서 Branch 복사가 필요한 경우가 간혹 있다
✔︎ 예를 들면 target-repository의 dev branch → origin-repository의 feat/ci branch로 복사해오는 것이다
1. 복사해올 Repository를 원격 저장소로 추가
git remote add <Remote Name> <복사 대상 Git Repository URL>
Remote 저장소 이름은 임의로 지정
git remote -v 명령어로 저장소 목록 확인 시 현재 내 저장소와 추가한 저장소가 함께 확인 된다
hyeonsaeng@MacBookPro origin-repository % git remote -v
branch-copy-test <target-repository url> (fetch)
branch-copy-test <target-repository url> (push)
origin <origin-repository url> (fetch)
origin <origin-repository url> (push)
2. 복사할 대상의 Branch Pull
git pull <Remote Name> <Target Branch Name>
Git 형상과 커밋 히스토리까지 가져온다
hyeonsaeng@MacBookPro origin-repository % git pull branch-copy-test dev
remote: Enumerating objects: 923, done.
remote: Total 923 (delta 0), reused 0 (delta 0), pack-reused 923
Receiving objects: 100% (923/923), 93.12 KiB | 2.59 MiB/s, done.
Resolving deltas: 100% (280/280), done.
From <target-repository url>
* branch dev -> FETCH_HEAD
* [new branch] dev -> branch-copy-test/dev
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
3. Branch 전환 및 이름 변경
git branch -a 명령어로 확인 시 Pull 하여 가져온 Target Branch가 확인 된다
Branch 이름 변경이 필요할 경우 git branch -m 옵션 사용하여 변경
hyeonsaeng@MacBookPro origin-repository % git checkout dev
branch 'dev' set up to track 'branch-copy-test/dev'.
Switched to a new branch 'dev'
hyeonsaeng@MacBookPro origin-repository % git branch -m feat/ci
hyeonsaeng@MacBookPro origin-repository % git branch
main
* feat/ci
4. Remote 저장소 삭제
Branch 복사 완료 후 추가해줬던 Target Repository 삭제
git remote remove <Remote Name>
☝🏻 Branch 삭제
git branch -D <Branch Name>
반응형
'DevOps' 카테고리의 다른 글
OpenTofu란? OpenTofu 개념과 MacOS에 설치하기 (0) | 2024.01.12 |
---|---|
Git Status와 Git Add, Commit, Push 기본 개념 및 사용법 (3) | 2023.12.21 |
Conflict (충돌) 없이 Git Merge 하기 (0) | 2023.12.15 |
MAC에 Git 설치 및 GitLab Remote 저장소 연동 (0) | 2023.12.15 |
Kubernetes 기본 개념과 기능 및 동작 구조 (1) | 2023.12.15 |
블로그의 정보
현생이네
현생사는갓생지망생