iOS_Swift5

XCode) Git 원격과 로컬 둘 다 변경사항 있을 때, fetch and pull

summerorange 2022. 4. 5. 15:59
반응형

github 원격에서 ReadMe를 바로 수정하다보니 

Local의 변경 사항이랑 원격의 변경 사항이 달라서 어떻게 git commit을 해야 하는지 당황했었다.

git 관리를 XCode 내부에서 바로 commit 을 주로 쓰다보니 터미널에 들어가는 게 익숙하진 않다.

폴더에 들어가서

git status

보면 로컬 저장소에 변경 사항이 있고 커밋되지 않은 파일들이 있다고 한다. git add . 한 뒤에 git commit -m "~~" 하기엔 원격에 변경사항이 있으니 우선 받아주어야 한다.

git fetch

로 원격에 변경사항이 뭐가 있는지 확인해준다. git fetch origin 이라고 원격 저장소 브런치 이름을 넣어야 하는데, 브런치는 하나 밖에 없기 때문에 git fetch로 해서 확인했다. 55개 정도 수정된 사항이 있다고 떴다.

만약 다른 브런치였다면 fetch에서 다른 브런치에서 변경사항이 있다고 뜰 거고, git branch -r / git branch checkout 해당 브런치 /  그리고 git log 를 쳐서 변경 사항이 무엇인지 확인할 수 있다.

git pull 해서 원격에서 변경된 내용을 내 로컬 저장소로 가져와서 합친다. 원격 저장소에 ReadMe를 수정하다보니. 수정하고 업로드 한 파일을 내 폴더에 내려받을 수 있다.

그 다음 git fetch를 보면 아무것도 뜨지 않는 걸 볼 수 있다.

main * 로 뜨는 건 이젠 로컬에서 변경된 내역을 반영해 줘야 한다. git add . / git commit -m "내 로컬에 변경된 내용" 이렇게 치면 될 것이다:)

반응형