push/pull

박태영·2024년 6월 8일
0

git

목록 보기
11/44

push

  • 내 로컬 저장소에서 원격 저장소로(github 또는 다른 저장소)에 commit을 업로드하는 것

실습

  1. github에서 push할 파일의 commit 메시지를 확인
    • "Edit Panthers"
  2. 해당 파일을 수정하고 git push를 이용해서 원격 저장소에 commit을 업로드
  3. commit 메시지가 변화된 것을 확인
    • ℹ️ git push 만으로 원격 저장소에 저장할 수 있었던 것은 초기 원격 저장소를 연결할때 -u 옵션을 주어 로컬 브랜치와 어떤 원격저장소의 원격브랜치와 연결할지 설정을 해두었기 때문

pull

  • 원격 저장소에 저장되어 있는 commit들을 로컬 저장소로 옮기는 것

실습

  • ℹ️ 원래 협업하는 사람이 올린 commit을 다운 받아야 하지만 실습때는 그럴 수 없으므로 github 사이트에서 직접 수정한 결과를 로컬 저장소로 내려받는 방식으로 진행
  1. github 사이트에서 수정할 파일을 선택후 연필 아이콘 클릭
  2. 수정후 Commit changes 버튼 클릭
  3. commit 메시지 작성 후 commit changes 버튼 클릭
  4. sourcetree pull 아이콘에 뱃지가 있는지 확인한다.
  5. 터미널에 git pull을 입력한다.
  6. github.com에서 수정한 내용이 로컬 저장소에 적용된 것을 확인

pull & push

  • 원격에도 pull 받아야 할 commit이 있고 로컬에서도 원격으로 Push 해야 할 commit이 있는 경우

git pull -no--rebase

  1. git push를 입력해 push 하면 오류가 발생한다.

  2. git pull --no-rebase 를 입력하여 원격브랜치의 commit과 로컬 브랜치의 commit을 merge 하는 형식으로 pull한다

  3. git pull 이 완료된 모습

git pull --rebase

  • 원격 브랜치를 main으로 하여 로컬 브랜치를 떼다가 원격 브랜치에 붙임 (원격기준으로 rebase)
    1.git pull --rebase 를 터미널에 입력
  1. sourcetree에서 어떻게 적용 되었는지 확인
    • 원격과 로컬 저장소의 커밋을 재배치하여 원격 저장소의 커밋 다음에 로컬 커밋이 배치되도록 조정
  • ℹ️ pull 하는 과정중에 오류가 난 경우 merge/rebase의 경우와 마찬가지로 해결하면 된다.

git push --force

  • 원격 저장소에 있는 내용이 모종의 이유로 내려받으면 안되거나 그럴 수 없는 경우 로컬 저장소의 commit을 강제로 원격에 push 하는 방법.
  • 원격 저장소의 내용이 로컬 저장소의 내용으로 덮어씌워진다.
  • 협업 하는 경우 위험할 수 있기 때문에 사용에 주의가 필요하다.
profile
어른 아이

0개의 댓글

관련 채용 정보