원격 저장소에서 일어난 변경들을 어떻게 로컬로 가져올것인지에 대해 배워 볼것입니다.
git fakeTeamwork <branch> <number>
- branch 이후 number만큼 가짜 커밋을 만든다.
나의 훌륭한 작업을 다른 사람들과 공유하려면 어떻게 해야되는거죠?
git push는 여러분의 변경을 정한 원격저장소에 업로드하고 그 원격 저장소가 여러분의 새 커밋들을 합치고 갱신하게 합니다. git push가 끝나고 나면, 여러분의 친구들은 원격저장소에서 여러분의 작업을 내려받을수 있게됩니다.
push 이후 가장 최근의 commit으로 branch가 옮겨간다!
ex) 여러분은 월요일에 저장소를 clone해서 부가기능을 만들기 시작했습니다. 금요일쯤 기능을 공개할 준비가 되었습니다 -- 그런데 오 이런! 동료들이 주중에 코딩을 잔뜩해서 여러분이 만든 기능은 프로젝트에 뒤떨어져서 무용지물이 되었습니다. 이 사람들이 그 커밋들을 공유하고있는 원격 저장소에도 공개했습니다, 이제 여러분의 작업은 이제 의미가 없는 구버전의 프로젝트를 기반으로한 작업이 되어버렸습니다.
명령어 git push가 할 일이 애매해집니다. git push를 수행했을때, git은 원격 저장소를 여러분이 작업했던 월요일의 상태로 되돌려야 할까요? 아니면 새 코드를 건들지 않고 여러분의 코드만 추가해야 되나요? 아니면 여러분의 작업은 뒤 떨어졌기 때문에 완전히 무시해야되나요?
git fetch -> c2를 가져온다.
git rebase o/main -> 1줄로 만든다.
git push -> 최신으로 업데이트 한다.
git merge | git rebase |
---|---|
또다른 commit을 만들고 기존 commit과 합쳐서 다른 commit을 만든다. | 원격에서 commit을 가져와서 만들고 해당 커밋 밑에 기존의 커밋을 붙혀서 history가 안꼬이게 만든다. |