GDSC SungShin Women's University 23-24/Session

[9월 정기세션] GitHub 사용법 교육

GDSC SungShin Team 2023. 11. 11. 16:27

 

안녕하세요! GDSC Sungshin 교육팀 팀장 최애림입니다 :)

 

 10월 정기세션에서 교육팀은 'GITHUB 사용법'이라는 주제로 교육을 진행했습니다.

 

 팀프로젝트 할 때 필수적인 개발 협업툴인 GITHUB에 대해 알아보겠습니다.

 

 

 

목차는 

 

CHAPTER 01: GIT, GitHub 소개 및 다운로드


CHAPTER 02: GitHub GDSC 단체 Issues 사용 방법과 미션


CHAPTER 03: GitHub Desktop


CHAPTER 04: repositories 생성 및 clone


CHAPTER 05: commit, push CHAPTER 06: pull, branch, merge

 

로 구성했습니다.



 

먼저 깃과 깃허브 소개 먼저 시작하겠습니다. 

 

 

 

깃과 깃허브는 연관이 되어있지만 다릅니다. 마치 커피와 커피숍과 같습니다.

 

 

 

깃이 동작하는 원리는 꽤 심플합니다. 깃은 사용자의 파일을 항상 보고있습니다.깃은 모든 파일의 변화를 다 기록하고 있습니다.

이런 깃의 장점은 파일에 대한 각기 다른 버전을 보관할 수 있는 것입니다.

 

 

 

예를들어서 만약 깃이 없었다면 3개의 파일을 따로 따로 작업해야했습니다.그런데 만약 이 세가지 파일이 공통으로 갖고 있는 한가지를 바꿔야 한다면…복붙을 해서 3개의 파일을 다 변경해야하는데 그건 매우 귀찮고 피곤한 일입니다. 

 

 

 

그러나 깃은 이렇게 각기 다른 3개의 파일을 한번에 관리하게 해줍니다.

변경사항을 모든 각기 다른 세개의 파일에 바로 적용할 수 있도록 도와줍니다. 

 

 

 

또다른 깃의 장점은 내가 깃 덕분에 같은 파일을 가지고 여러명과 함께 일을 할 수 있습니다. 나와 상대방 서로의 변경사항, 충돌하는 일 없이 일할 수 있습니다.그래서 누군가가 실수를 했으면 누가 어떤걸 실수했는지 볼 수 있고, 어떤 라인을 누가 어떻게 변경했는지 볼 수있습니다.깃을 활용하면 이런것들이 매우매우 쉽게 가능합니다. 

 

 

 

여기서 잠깐. 제가 에디터와 함께 일을 하고 있다고 치겠습니다.나의 파일과 깃 히스토리를 에디터와공유하고 있는 상황입니다.어떻게 공유할까요 여기서 깃허브가 등장합니다. 깃허브는 클라우드에 있는 깃제공자 입니다. 

 

 

 

즉 내 컴퓨터에서 깃 히스토리를 가져와서 깃허브 웹사이트에 푸쉬하는 것입니다. 그다음 에디터는 이를 가져올수있기 때문에 모든 변화기록을 볼수있습니다.즉 우리는 모두의 깃기록을 깃허브 클라우드에 올릴 수 있습니다.

 

 

 

다음으로 깃허브 gdsc 단체 이슈 사용 방법에 대해 알려드리겠습니다.

 

 

먼저 깃허브에서 회원가입과 로그인을 진행하신 다음 깃허브 가입 이메일 주소,

깃허브 계정 alias를 디스코드 인사 채널에 채팅으로 알려주시면 리드님이 초대장을 전송해주실 건데요.
가입 이메일로 온 초대장을 승인하시면 깃허브 gdsc 단체 이슈를 사용하실 수 있게 됩니다.

 

 

Issues란 프로젝트의 작업, 개선 사항 및 버그를 추적하는 좋은 방법으로 사용되는데요, 프로젝트 계획, 새롭게 추가될 기능, 버그와 수정 사항 모든 것을 이슈라고 할 수 있습니다.
활동의 모든 내역에 대해서 이슈를 등록하고 등록한 이슈를 기반으로 작업을 진행할 수 있습니다

 

 

이슈 사용 방법을 알려드리겠습니다.
먼저 레포지토리의 이슈 창에서 화면에 보이는 초록색 new issue를 누르고 이슈를 작성해줍니다.

 

 

내용을 작성한 다음 submit new issue를 눌러 이슈를 제출하면 됩니다.

 

 

 

작성한 이슈에 대해서는 다른 맴버들이 답변을 남길 수 있으며 이슈를 이용해서 활동하는데 있어 도움을 받으실 수 있습니다.

 

 

 

저희 GDSC 단체 이슈는 private repository이기 때문에 초대장을 받아야만 사용하실 수 있는데요.
그래서 저희가 서로 알아가는 의미에서 작은 미션을 준비했습니다.
저희 교육팀이 미리 GDSC 디스코드 인사 채널에 올린 것처럼 간단한 자기소개와 깃허브 링크를 올려주시면 되는데요.
앞으로 1년동안 함께할 맴버들이니 다른 맴버들이 소개글 올려주시면 한번씩 봐주시고 깃허브 팔로우 하면서 

친해져보는 시간을 가졌으면 좋겠습니다!

 

 

 

다음으로 깃허브 데스크 탑에 대해 설명하겠습니다.
깃허브 데스크탑은 깃을 편리하게 사용할 수 있게 도와주는 도입니다.

 

 

화면에 보이는 깃허브 데스크탑 주소에 들어가 다운받으신 후 사용하시면 됩니다
CLI에서도 명령어로 깃을 사용할 수 있지만 깃허브 데스크탑을 이용한다면 GUI환경에서 쉽게 사용할 수 있게 해줍니다

 

 

이번에는 레포지토리 생성, 클론에 대해 설명하겠습니다

 

 

깃허브 Repository란 파일이나 폴더를 저장해 두는 파일 원격 저장소입니다.
자신의 레파지토리에 파일을 올리면 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람에게 파일을 공유할 수 있습니다

 

 

레파지토리 생성 방법은 repositories 메뉴를 선택한 후 new 버튼을 눌러 레파지토리를 생성하시면 됩니다

 

 

레파지토리 이름, description 등 옵션을 선택 한 후 create repository 버튼을 누르면 레파지토리가 생성됩니다
readme(리드미)의 경우 옵션으로 선택이 가능하지만 다양한 경우 활용을 위해 만들어 놓은 것이 좋습니다

 

 

다음으로 Clone에 대해 설명하겠습니다
클론은 다른 사람이 올린 파일을 다운받고 싶을 때 사용하는 기능인데요

 

 

그림과 같이 깃허브의 저장소에 코드를 저장해 놓으면 다양한 pc에서 해당 코드를 다운받아 사용할 수 있습니다

 

 

클론을 하는 방법은 깃허브에서 클론하려는 저장소의 코드버튼을 누리면 아래에 뜨는 https 주소를 복사한 후 


 

깃허브 데스크탑으로 돌아와 file 탭에서 클론 레파지토리를 선택한 후 url을 선택해 복제하려는 레파지토리의 주소를 입력하고 클론 버튼을 누르면 됩니다.

 

 

사진과 같이 현재 깃허브 데스크탑 레파지토리의 이름이 클론한 레파지토리로 바뀌면 클론이 성공한 것입니다.

 

 

 

다음으로 Commit과 Push에 대해 설명하겠습니다

 

 

Commit이란 게임의 세이브에 해당하는 행동을 git에서는 커밋이라고 합니다. 다시말해서 여러분은 커밋한 시점으로 되돌아 갈 수 있습니다. 
커밋을 하려면 저장을 원하는 파일들을 묶어서 커밋 명령을 수행하면 됩니다.

 

 

 

 클론한 폴더 내에서 파일을 생성하고 코드를 작성하면 깃허브데스크탑에 자동으로 변경사항이 반영되는데요.

 

 

 

커밋하고 싶은 파일을 체크하고 커밋메세지를 작성하고 커밋하기를 클릭하면 됩니다!

 

 

 

Push Origin 커밋한 횟수만큼 숫자가 떴다면 커밋이 완료되었다는 것입니다.

 

 

 

대신 커밋할때 주의 사항이 있는데 내에서 정한 커밋 유형을 지켜서 커밋해야한다는 것입니다. 솔루션챌린지를 같이할 팀원들끼리 커밋 유형을 정하고, 지켜서 프로젝트를 진행하는 것을 추천합니다.

 

 

 

커밋을 하면 현재 작업 내용의 세이브 데이터가 컴퓨터에 저장이됩니다. 이것을 깃허브에 업로드하는 것을 Push라고 합니다.

 

 

 

Push origin 클릭하면 푸시를 하는 것이고, 깃허브 저장소에 업로드가 됩니다.

 

 

 

다음으로는 Pull,Branch,Merge 대해 소개하겠습니다.

 

 

 

Pull이란 깃허브 저장소에 있는 코드를 자신의 PC 옮겨오는 것입니다. 다른 사람이 수정한 코드를 깃허브에 업로드하면 컴퓨터에 받아오는 또는 자신의 깃허브 저장소에서 변경한 사항을 컴퓨터에 받아오는 것입니다.

 

 

 

실습을 해보자면 자신의 깃허브 저장소에서 변경사항을 작성합니다. 이후 깃허브 데스크탑에 들어가면

Pull origin 버튼이 생성되어있습니다.

 

 

 

Pull 버튼을 누르면 풀이 진행되며 연결해 놓은 VScode 변경사항이 적용된 것을 있습니다.

 

 

 

다음으로 Branch 독립적으로 어떤 작업을 진행하기 위한 개념으로 각각의 브랜치는

다른 브랜치에 영향을 받지 않고 작업을 진행할 있습니다.

 

 

 

저장소 생성시 가장 처음에 만들어지는 브랜치는 메인 브랜치입니다.

메인브랜치 이외의 곳에서 커밋을 하고 싶다면 Checkout 해주어야합니다.

 

 

 

그림과 같이 브랜치를 사용하면 협업을 할때 예를들어 한명은 사이드바를 추가하고, 다른 사람은 비디오 표시 버그를 수정하는

각자 기능을 따로 작업하고 합칠 있어 편리합니다.

 

 

 

브랜치 실습을 해보자면 깃허브 저장소 생성시 만들어진 메인 브랜치가 나타나 있는 곳에 브랜치 버튼을 클릭해주세요. 새로 생성하려는 브랜치의 이름을 입력후 Create branch 버튼을 누르면 브랜치 생성이 완료됩니다.

 

 

 

테스트 브랜치에서 변경사항을 커밋,푸시하고 메인브랜치로 돌아오면 메인브랜치에서는 커밋이 나타나지 않습니다. 이렇게 다른 브랜치에서 커밋한 내용은 다른 브랜치에 영향을 주지 않습니다.

 

 

 

다음으로 Merge 서로 다른 브랜치를 병합하는 과정으로 분기된 커밋을 하나의 커밋으로 다시 합치고 싶을 사용합니다. 한사람이 사이드바를 만들고 다른 사람이 헤더를 만들고, 두가지 기능을 합치고 싶다면c 이용하면 됩니다.

 

 

 

메인브랜치 , 테스트 브랜치 각각의 리드미에 문구를 추가하여 커밋합니다.

 

 

 

메인브랜치에서 테스트 브랜치를 머지하기 위해 메인브랜치에서 Merge into current branch버튼을 클릭후 머지하려는 테스트 브랜치를 클릭합니다.

 

 

 

Merge를 완료하면 화면과 같이 메인브랜치에 테스트 브랜치 코드가 합쳐진 것을 있습니다.

 

 

 

GDSC멤버들중에 2학년들이 많은 것으로 알고 있어요! 아마 팀프로젝트가 처음이신분들이 많을텐데 팀프로젝트할 때

무조건 깃허브를 사용하게 될텐데 익숙하지 않아서 어려움을 겪을 확률이 높습니다.

그래서 솔루션챌린지 하기전에 조금씩 공부해두면 좋을 같습니다. 아래링크는 제가 2학년때 들었던 깃허브 강의에요.

 

https://www.inflearn.com/course/git-and-github

 

[무료] Git과 GitHub 시작하기 - 인프런 | 강의

배우기 어려운 Git의 사용법을 쉬운 Gui 프로그램인 SourceTree를 통해 익혀봅시다., [임베딩 영상] git과 github git 은 형상 관리 시스템(Verson Control System) 의 한 종류입니다. 주로 개발자들이 프로그램

www.inflearn.com

 

깃허브데스크탑을 사용하면서 강의하시지는 않지만 설명이 깔끔하고 깃허브 입문으로 소스트리도 사용하기 나쁘지 않아서 추천합니다.

 

감사합니다.

 

 

더보기

참고자료 : https://youtu.be/YFNQwo7iTNc?si=8qkqb5el5EUxt9VH

 

발표자료 제작

김도은,김나은,최애림

 

발표: 김도은, 김나은,최애림

포스팅:최애림