안녕하세요, 강의 잘 듣고 있습니다. Git을 정리하는 데 큰 도움을 받고 있습니다. 다름이 아니라 GitHub에서 브랜치를 메인 브랜치로 병합할 때 사용하는 전략에 대해 궁금합니다. 기본 병합(merge), 스쿼시 & 머지(squash & merge), 리베이스 & 머지(rebase & merge) 방식이 있는데, 어떤 방식을 선호하시는지 여쭤보고 싶습니다. 개인적으로는 로컬에서 작업할 때는 리베이스 & 머지 를 선호합니다. 히스토리를 깔끔하게 유지할 수 있기 때문입니다. 반면에 메인 계열 브랜치(dev, prod 등)로 병합할 때는 기본 병합 을 사용해야 기능 추가 히스토리를 명확히 추적할 수 있다고 생각합니다.
안녕하세요. 브랜치에 관해 질문이 있습니다~ 1. 리모트 레포지토리를 하나 만들어서 여러명이서 협업을 한다고 할 때, 제가 브랜치를 만들어서 작업을 하고 push를 하면 리모트 레포지토리에도 제가 로컬에서 만든 브랜치들이 보이는 것으로 알고 있습니다. 혹시 만약에 같이 협업하시는 분이 로컬에서 리모트 레포지토리로부터 pull하시면 제가 만들었던 브랜치도 다 보이고 제가 만든 브랜치에서 그 분도 작업을 할 수 있나요? 2. 3분40초 대에서 git branch cat이라는 명령어를 이용해서 'cat 브랜치를 현재 시점에 만들어라' 라고 하셨느데 이 때 말씀하시는 현재 시점이라는게 HEAD가 가리키는 커밋을 말씀하시는 건가요? 3. 뒤에 이어지는 실습 부분에서 checkout을 이용해서 HEAD를 옮기는 것은 딱히 없는 것 같은데 혹시 그런거는 GUI에서는 마우스 클릭으로 어느 커밋 또는 브랜치를 클릭하고 있는지에 따라 결정되는 건가요?