[Git] Push & Pull

WOOK JONG KIM·2022년 12월 21일
0

Git&GitHub

목록 보기
7/19
post-thumbnail

원격 저장소로 push

Evie 추가 후 커밋을 했을 때

위 경우 원격에 브랜치는 하나 뒤쳐져있음
-> 로컬의 변화를 원격으로 업데이트 해주어야 함

git push

위 코드는 이미 git push -u origin main으로 대상 원격 브랜치가 지정되었기 때문에 가능


원격 저장소의 커밋 당겨오기(pull)

동료가 Push 한 작업 받아오기


pull 할 것이 있을 때 push를 하는 경우

즉 1,2의 경우 자신은 커밋을 하였으나 push를 하지 않은 상태고, 동료는 수정 후 push를 먼저 한 상태
-> 이 경우 pull 할 것도 있고 push할 것도 있다

이 경우 push를 할려하면 에러 발생
-> 최신 내역이 안 맞추어져 있기에

원격 저장소에는 dongho 커밋 위에 edit leopards coach가 있는 반면
로컬 에는 dongho 커밋 위에 edit lepoards manager가 있다

-> 이러한 경우 해결방법 2가지

협업상에서 하지말라던 rebase와 pull rebase는 다름

git pull --no-rebase

로컬의 main 브랜치와, 원격의 main 브랜치를 서로 다르게 봄

Edit Leopards manager 시점으로 hard reset을 한 이후

git pull --rebase

이후 git push 진행 시

파일을 열어보면 coach와 manager가 둘다 바뀌어 있는 것을 확인 가능


협업상 충돌사항이 있을 때 Push&Pull

--no-rebase

Maruchi로 선택 후

--rebase

  1. Arachi로 수정

이후 git add., git rebase --continue

이 경우엔 하나만 추가되어있음

  1. Maruchi로 수정

--rebase 시 발생하는 충돌 상황에서 Maruchi로 수정 후 커밋 시


로컬의 내역 강제 push해보기

로컬(main)의 내역들이 원격(origin/main) 보다 뒤쳐져 있는 경우에는 push를 하지못함

만약 원격에 있는 내용들이 잘못되어 로컬에 있는 것들로 강제로 맞춰 줘야 할 상황이 있는 경우
-> 원격에 있는 커밋 중 로컬 과 다른 커밋들은 강제로 사라지게 될 것!

git push --force

위 코드 실행 시

원격 저장소에 Add Arachi가 사라짐

profile
Journey for Backend Developer

0개의 댓글