질문 1

30XP

git push 전에 보통 git pull을 해야하는 이유에 관한 내용으로 틀린 것은?

1

내가 로컬 레포지토리에서 작업하고 있을 동안, 다른 개발자가 리모트 레포지토리의 내용을 수정했을 수도 있다.

2

리모트 레포지토리에 있는 커밋이 로컬 레포지토리보다 한 단계 앞서 있을 때는 어차피 git pull을 해야만 git push를 할 수 있다.

로컬 레포지토리의 내용이 항상 우선이기 때문에 사실 git pull을 하고 git push를 할 필요는 없다.

4

여러 개발자가 협업을 할 때는 리모트 레포지토리가 가장 중심이자 우선이 된다.

👏🏻 정답입니다. 30XP를 획득하셨어요!

퀴즈 해설

협업을 할 때 기준이 되는 레포지토리는 늘 리모트 레포지토리입니다. 만약 리모트 레포지토리의 커밋들이 로컬 레포지토리의 커밋보다 몇 단계 앞서있으면, 로컬 레포지토리의 내용을 바로 git push할 수 없습니다. 따라서 이런 경우에는

(1) 일단 리모트 레포지토리의 내용을 git pull해서

(2) 앞서나간 커밋들을 로컬 레포지토리에 일단 반영해야만

그 다음에 내가 한 커밋들을 추가로 반영해서 git push를 할 수 있습니다.

※ 사실 리모트 레포지토리의 내용이 로컬 레포지토리의 내용보다 앞서 있더라도 git push -f라고 쓰면 아예 로컬 레포지토리의 내용으로 리모트 레포지토리의 내용을 밀어버리고 덮어써버릴 수 있기는 합니다. 여기서 -f는 force의 약자로 강제로 푸시를 하라는 뜻입니다. 하지만 이 커맨드는 최대한 사용하면 안 됩니다. 만약 다른 개발자들이 추가해놓은 커밋들이 리모트 레포지토리에 이미 많은 상황인데 제가 이걸 무시하고 제 로컬 레포지토리로 덮어쓰면 안되겠죠? 정말 큰일날 수 있으니까 조심하세요! 다만, 혼자서 하는 개인 프로젝트를 하는 경우에는 알아두면 좋은 옵션이기에 소개하는 것입니다.

질문 2

30XP

리모트 레포지토리의 내용을 로컬 레포지토리로 가져오는 커맨드에는