29기의 두번째 세미나가 5/31 ~ 6/7 약 일주일간 진행되었습니다.
이번 세미나에서는 어떤 내용을 배웠을까요?
주제
GIT 응용
1차 GIT 기초 세미나에 이어 응용 버전인 깃허브 데스크탑에 대해 알아보았는데요,
이번 세미나는 김지윤 멘토님께서 맡아주셨습니다!
내용
1. GitHub Desktop 기초
깃허브 데스크탑은 호스트된 파일 사용에 도움이 되는 무료 오픈소스 서비스입니다!
손쉽게 사용이 가능하다는 것을 포함한 여러 이점 덕분에
Git을 알아가기 시작한 부원들도 어려움 없이 세미나를 수강할 수 있었는데요.
간단하게 깃허브 데스크탑과 깃허브가 어떻게 연동되는지 그 워크플로우에 대해서도 알아보았습니다.
소개를 마쳤으니 이제 직접 설치하고 레포지토리도 클론해보아야겠죠?
우선 깃허브 데스크탑을 설치한 후 클론해올 레포지토리를 생성해줍니다.
그리고 생성한 레포지토리의 URL을 복사해 깃허브 데스크탑으로 가져온 후,
로컬 저장소 경로를 지정하여 정상적으로 레포지토리를 클론합니다!
Commit과 Push, 어딘가 익숙하지 않나요?
바로 지난 1차 세미나에서 배운 기본 명령어인데요,
두 명령어를 사용해 깃허브 데스크탑에서 변경 사항을 확인하는 과정까지 배워보았습니다.
* Commit 변경사항을 로컬 저장소에 기록
* Push 로컬 저장소의 변경 사항을 원격 저장소에 반영
2. GitHub Desktop으로 협업하기
우리는 프로그래밍을 하면서 필수적으로 협업을 하게 됩니다.
이때 공동 작업을 위한 저장소에서 충돌이 일어나거나 작업자 구별이 어려운 상황이 발생할 수 있기 때문에
위 사진처럼 협업을 위한 저장소를 사용자별 브랜치로 만들어 푸시해야 하는데요,
이렇게 커밋을 푸시한 후 서로 확인할 수 있도록 이에 대한 메세지를 남기는 방법까지 포함해
최종적으로 메인 브랜치에 merge하는 방법을 배워보았습니다.
먼저 내 브랜치의 변경 사항을 메인 브렌치에 merge해보고,
다른 팀원이 메인 브랜치에 머지한 코드를 내 브랜치에 받아오기도 해봅니다.
3. GitHub Desktop에서의 돌발상황
깃허브 데스크탑을 사용하다 보면 여러 돌발 상황을 마주하게 되기도 합니다.
가장 많이 마주칠 상황은 코드 간 충돌일 텐데요,
충돌이 일어난 경우 Can't Outomatically Merge라는 오류가 발생합니다.
이때 'Create Pull Request'와 'Resolve Complete' 로 각 브랜치의 어느 부분에서 충돌이 일어났는지 확인한 후
남기고자 하는 코드를 제외하고 수정해 주면 mark as resolved 버튼이 활성화되는 것을 볼 수 있습니다.
이렇게 충돌에 대처할 수는 있겠지만 미연에 방지하기 위해 메인 브랜치의 내용을 받아온 후 작업하는 것이 좋겠죠?
다음 돌발 상황은 어떠한 것이 있을까요?
우리는 종종 commit한 내용을 되돌려야 할 경우가 생기기도 합니다.
이를 위한 첫번째 방법으로 Revert를 알아봅니다.
* Revert 커밋된 파일을 취소하고 이를 히스토리 탭의 기록으로 남기는 것
Revert는 커밋된 파일을 취소하고 기록을 남기기 때문에 이렇게 여러 내역을 순차적으로 되돌릴 수 있고, 충돌이 없으면 정상적으로 진행됩니다.
두번째 방법은 Reset인데요,
Reset은 특정 commit으로 이동하고 기록을 남기지 않는다는 차이점이 있었습니다.
이렇게 커밋 실행을 되돌리는 두가지 방법을 마지막으로 두번째 세미나가 마무리되었습니다!
과제
이번 과제에서는 레포지토리를 주어진 이름으로 생성하고 Revert를 직접 실습해봅니다.
(1) 깃허브 로그화면에서의 커밋 해쉬와 (2) 깃허브 데스크탑에서의 This reverts commit (7자리)가 일치함을 확인해 보고,
Reset 실습에서는 처음 명령어를 입력한 후
HEAD is now at (커밋 해쉬) (커밋 이름)이
깃허브 로그에서 보이는 맨 위의 것과 일치하는 것까지 확인했습니다!
앞으로의 협업이 보다 수월히 진행될 수 있도록 좋은 정보를 알려주신 멘토님께 감사드리며
이번 세미나 과제에도 적극적으로 참여해주신 우리 솔룩스 29기 부원들 고생하셨습니다 :)
'❤29기 > 29기 세미나' 카테고리의 다른 글
[29기 5차 세미나] 데이터 모델 - 백엔드 연동하기 (0) | 2024.11.07 |
---|---|
[29기 4차 세미나] Firebase와 POSTMAN 활용법을 익혀 REST API 톺아보기 (0) | 2024.10.04 |
[29기 3차 세미나] (2) 노션으로 프로젝트 협업하기 (0) | 2024.07.11 |
[29기 3차 세미나] (1) 피그마로 만드는 자연스러운 ui (0) | 2024.07.11 |
[29기 1차 세미나] Git 기초 (0) | 2024.05.30 |