Infra

git repository 변경시 충돌문제 해결

SuperDT 2024. 9. 6. 12:10

 

혼자 작업을 하고 어느정도 작업이 완료된 내용을

공유하기 위해서 깃 레포지토리를 변경하였다

 

앞으로는 소통하면서 대응 내용을 실시간으로 공유하기 위해서였다

 

Mac과 Intelij 환경에서

레포지토리 변경작업을 위한 순서는 아래와 같다

 

먼저, git에서 repository 생성 후

intellij 상단 메뉴 git 선택 > Manage remotes... 선택 > 기존 url을 새로 생성한 url 변경

 

terminal로 이동하여 아래 명령어를 통해서

변경 내역 확인 및 설정

 

1) 현재 연결중인 remote repository 정보 확인 (출력결과: fetch와 push git주소 정보)
git remote -v

2) 브랜치 정보 확인 (출력결과: * main 189acd0 [origin/main: gone] 검색 호출 문제 해결 후 재배포)
git branch -vv

3) 브랜치 정보가 다르다면 생성 또는 정보변경(to=origin/${브랜치정보}) 
git branch --set-upstream-to=origin/main main
또는
git branch --set-upstream-to=origin/master main(출력결과: Reinitialized existing Git reposi...)

4) git 초기화 또는 재조정
git init

5) git 상태 확인
git status

 

위 작업 수행 후 git status로 확인가능하지만

merge작업을  수행하면 아래와 같은 내용을 확인 할 수 있었다

 

" On branch main
Your branch and 'origin/master' have diverged,
and have 41 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours) "

충돌을 처리하기 위해서

Update Project > Rebase the current branch..를 요청하면 아래와 같은 화면을 볼 수 있다

 

Accept Yours,

말그대로 네 것(local)으로 대체

작업 중인 파일이 중요한 경우, 혹은 원격 저장소의 변경 사항이 불필요하다고 판단될 때 사용

 

Accpet Theirs,

저기 있는 것(remote)으로 대체

원격 저장소의 변경 사항이 더 중요하거나 신뢰할 수 있다고 판단될 때 사용

 

나는 프로토타입 완성본인 remote 작업물로 대체하기 위해서

Accpet Theirs를 선택

 

All files are up to date 완료!

이제 변경된 레포지토리에 자유롭게 형상 작업을 진행 가능하다