Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- MariaDB
- spring
- 명령어
- 티스토리챌린지
- Python
- 오블완
- 호이스팅
- isNotEmpty
- pem
- mysql
- docker
- 자바
- 리눅스
- Javascript
- Linux
- PostgreSQL
- github
- isempty
- Kibana
- java
- IntelliJ
- analytics4
- mssql
- git
- iBatis
- MongoDB
- SQL
- oracle
- DBMS
- pandas
Archives
- Today
- Total
hanker
Git - 다른 branch에서 소스 가져오기 본문
반응형
다른 브랜치에서 소스를 가져오는 방법에 대해서 알아보자.
1. 현재 브랜치 소스를 유지하면서 가져오기
다른 브랜치의 변경 사항을 현재 브랜치로 병합하기
git merge [브랜치명]
# git merge main
명령어를 실행하면 main 브랜치의 변경 사항이 현재 브랜치에 병합된다.
* 브랜치 충돌이 발생할 수 있음.
병합 중 충돌이 발생하면 직접 수정한 후 커밋해야 한다.
git add .
git commit -m "Merge develop branch"
2. 다른 브랜치 소스 덮어쓰기 (현재 브랜치 변경됨)
만약 현재 브랜치를 유지할 필요가 없고, 다른 브랜치의 내용을 그대로 가져오고 싶을 때에는 reset --hard을 사용한다.
git fetch origin
git reset --hard origin/다른_브랜치
# 예시
# git fetch origin
# git reset --hard origin/develop
위 명령어를 실행하면 develop 브랜치의 최신 코드가 현재 브랜치에 덮어씌워진다.
* 이 방법은 현재 브랜치의 변경 사항을 모두 잃어버리므로, 꼭 백업 또는 확인 후 사용해야 한다.
3. 특정 브랜치에서 최신 코드 가져오기
다른 브랜치의 최신 코드를 기반으로 작업해야 할 경우 rebase를 사용한다.
git rebase 다른_브랜치
# 예시
# git rebase develop
위 방법을 사용하면 develop 브랜치의 변경 사항 위에 현재 브랜치의 커밋이 쌓이게 된다.
* 충돌이 발생할 경우 수동으로 해결하고 git rebase --continue 를 실행한다.
4. 특정 커밋만 가져오기
특정 커밋만 가져오고 싶다면 cherry-pick을 사용한다.
git cherry-pick 커밋해시
# 예시
# git cherry-pick abc1234
위 명령어는 abc1234 커밋을 현재 브랜치에 적용한다.
정리
전체 소스를 병합: git merge 다른_브랜치 명
다른 브랜치로 덮어쓰기: git reset --hard origin/ 다른_브랜치 명
다른 브랜치의 최신 코드 기반으로 작업: git rebase 다른_브랜치 명
특정 커밋만 가져오기: git cherry-pick 커밋해시
반응형
'CI, CD > GIT' 카테고리의 다른 글
Git - Fork 쉽게 이해하기 (복사본 만들기) (0) | 2025.02.19 |
---|---|
Git - error : The following untracked working tree files would be overwritten by merge (0) | 2025.01.25 |
Git - Git 환경설정(Git config) 3가지 레벨(Three Level)별 설정 방법 (0) | 2025.01.16 |
GIT - 효율적인 협업과 워크플로우 최적화 (0) | 2024.12.28 |
Git - git remote branch 삭제 (로컬브랜치 / 원격브랜치) feat. linux (1) | 2024.11.15 |