인프런의 강민철님의 모두의 깃 깃허브 강의를 참조하였습니다.
🙋🏻 fetch는 언제 사용할까?
우리가 로컬저장소의 master 브랜치로 작업하는 동안 원격저장소가 변경이 되었을 수도 있을 것이다. 그럴때 내가 작업한 내역들은 유지한 채 원격저장소 변경사항은 일단 가지고만 와서 원격저장소가 어떻게 바뀌었는지 확인만 해보고 싶을 때 그럴 때 사용한다.
아래의 common-repo를 로컬저장소를 만들고 위와 같이 커밋한다.
깃허브에서 위와같이 repository를 생성한다.
소스트리로 돌아와서 설정에 원격 탭에 추가를 눌러 생성한 깃허브 repository ssh를 복사해서 입력 후 확인을 누른다.
그러면 위와 같이 연결이 되었으면 푸시를 눌러 깃허브에 반영한다.
그리고 깃허브에 common-repo로 가서 a.txt를 눌러서 편집기능을 누른다. 그리고 위와 같이 편집 후 커밋을 한다.
그러면 해당 상황은 내 로컬은 3개의 커밋이 생겼지만 원격저장소에는 4개의 커밋으로 새로운 커밋이 생긴 상황이다.
그럼 소스트리로 돌아와서 페치를 누르고 확인을 누른다.
그러면 위와 같이 소스트리 화면이 변경된다. 즉 master는 3개의 커밋, origin/master는 4개의 커밋이 있다는 셈이다.
🙋🏻 pull은 언제 쓸까?
내 로컬저장소에는 없는 변경사항이 원격 저장소에 생겼는데 그 원격 저장소 변경사항을 내 로컬저장소에 한방에 반영하고 싶을 때 사용
위와 같이 master와 origin/master를 병합한다.
그 다음에 깃허브 편집기능으로 새로운 커밋을 작성한다.
소스트리로 와서 풀을 누르고 확인을 누른다.
그러면 위와 같이 한번에 병합까지 이루어진 것을 볼 수 있다.