1 .예전에 깃랩에서 받은 이클릷스 A프로젝트 로컬 소스에서 작업하여 수정사항 존재
2. 예전에 A프로젝트 로컬에 받은 후 깃랩 현재 main 브랜치에 이후 수정사항 존재
3. 1번에서 수정한 사항을 살리면서 2번의 main 브랜치 (최신소스)기준으로 새로운 브랜치를 생성해보자.
순서
✅ 내가 수정한 로컬 소스는 살리고(변경사항 유지)
✅ 원격 main 브랜치의 최신 소스를 받아와서
✅ 둘을 하나의 브랜치로 병합(Merge)
1단계: 원격 저장소(origin)의 최신 main 브랜치 가져오기
방법 : Git Repositories 뷰에서 해당 프로젝트를 우클릭 → Fetch from origin 클릭
Fetch from origin 기능?
“원격 저장소(origin)의 최신 커밋/브랜치/태그 정보를 로컬 저장소로 가져오는 명령어”입니다.
단, 가져온다고 해서 로컬 브랜치에 직접 반영(push 또는 pull)되지는 않습니다.
Eclipse에서 로컬에서 소스를 수정한 상태에서 Fetch from origin을 수행했고,
이제 이후 원격(main)의 최신 소스를 기준으로 내 변경사항을 반영하고 싶다면 아래처럼 단계별로 진행하면 됩니다
✅ origin/main 기반 새 브랜치 만들기
- yobiss-fo 저장소 → 우클릭 → Switch To > New Branch…
Start point : source 오른쪽에 select 클릭 후 origin/main 선택
Branch name 입력 해주고.
Configure upstream for push and pull > 현재 브랜치와 원격 브랜치를 자동 연결 새 브랜치를 만들어서 원격에도 푸시하고 계속 작업할 예정이라면 체크해두는 게 맞습니다.
Check out new branch 체크됨 → 브랜치 생성 직후, 해당 브랜치로 자동 전환됩니다. 즉, 작업 브랜치가 위에서 입력한 Branch name fe****로 바뀝니다.
When pulling: Merge
→ 이 설정은 나중에 pull을 할 경우, origin/ fe**** 에서 자동 병합하겠다는 뜻입니다.
이렇게 하면 origin/main의 최신 소스를 기준으로 한 새 브랜치(fe****)가 만들어지고 전환됩니다.
✅ 2단계: 기존 수정한 브랜치 병합하기
이제 새 브랜치 상태에서 기존에 작업한 브랜치를 병합하면 됩니다.
🔹 방법
- Git Repositories 뷰에서 브랜치 우클릭 → Merge…
체크되어있는게 현재 브랜치이고, 로컬에서 기존에 수정작업해뒀던 브랜치 선택.
현재 선택된 브랜치(첫번째, 로컬 브랜치) 병합 대상 브랜치(두번째 현재 브랜치)
Merge 클릭, 두 브랜치가 병합되고, 커밋까지 완료됨 (충돌이 없다면!) |
➡️ Eclipse가 자동으로 병합 수행
➡️ 충돌(conflict) 발생 시 Git Staging 뷰에서 수정 가능
✅ 3단계: 충돌 수정 & 커밋
- 충돌 발생 시:
- 충돌 파일 더블 클릭 → 수정
- 저장 → Git Staging 뷰에서 Stage Changes
- Commit 클릭
✅ 4단계: 최종 푸시 (Push)
- Git Staging 하단 → Push HEAD 버튼 클릭
@@@@@@@@@@@@@@@@@@