홈 › Git › 04 / 8

원격 저장소

섹션 7진행 0 / 8

6. 연습 문제

문제 1. 원격 등록 확인

origin 이라는 이름으로 이미 등록된 원격의 주소를 확인하는 명령을 쓰세요.

bash
git remote -v

-v 없이 git remote 만 쓰면 이름만 나오고 주소는 보이지 않습니다.

문제 2. fetch 와 pull 구분

원격의 새 커밋을 받되 내 작업 트리는 아직 바꾸고 싶지 않을 때 쓸 명령을 쓰세요.

bash
git fetch origin

작업 트리까지 반영하려면 이후에 git merge origin/main 이나 git pull 을 실행합니다.

문제 3. push 거부 대처

git push 가 non-fast-forward 로 거부되었습니다. 이력을 깔끔하게 한 줄로 유지하며 다시 push 하는 순서를 명령 두 개로 쓰세요.

bash
git pull --rebase
git push

pull --rebase 가 실패하면 git fetch 후 git rebase origin/main 으로 나눠 실행해도 됩니다.

문제 4. 안전한 강제 push

커밋을 --amend 로 고친 뒤 원격에 안전하게 덮어쓰는 명령을 쓰세요. --force 는 쓰지 않습니다.

bash
git push --force-with-lease origin main

원격이 내가 마지막으로 안 상태와 다르면 거부되어 동료의 새 커밋을 보호합니다.

문제 5. 폐쇄망 반입

네트워크가 없는 서버에 저장소 전체를 파일 하나로 옮기고, 그 파일로 새 폴더에 clone 하는 명령 두 개를 쓰세요.

bash
git bundle create repo.bundle --all
git clone repo.bundle 새폴더

이후 변경분만 옮기려면 git bundle create 증분.bundle 마지막반입커밋..main 으로 범위를 좁힙니다.