GDG on Campus: SSWU 6th/Monthly Session

[9월 교육 세션] 깃허브 사용법

GDSC SungShin Team 2025. 1. 2. 01:33

안녕하세요! GDG on Campus Sungshin 교육팀 나현주입니다 :)

 

 

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

 

김찬진, 나현주, 민서연 님이 함께 세션을 진행하였습니다.

 

 

교육 세션은 아래와 같은 순서로 진행하였습니다.

  1. Git과 GitHub 소개 및 다운로드
  2. GitHub Desktop 다운로드
  3. Repositories 생성 및 Clone
  4. Commit, Push
  5. Pull, Branch, Merge
  6. 추가 Tip: 유용한 강의 추천

 

Git과 GitHub의 차이

  • Git : 명령어 기반으로 작동하며, 로컬에서 독립적으로 버전 관리를 할 수 있습니다.
  • GitHub : Git 데이터를 서버에 업로드하여 다른 개발자들과 협업하거나 코드 리뷰를 받을 수 있습니다.

 

Git과 GitHub의 기능 비교

  • Git : 모든 파일의 변화를 기록하며 중앙 서버에 의존하지 않고 로컬에 프로젝트 히스토리를 저장할 수 있습니다.
  • GitHub : Git 기록을 클라우드에 업로드하여 여러 사용자와 데이터를 교환할 수 있는 플랫폼입니다.

 

이제 깃허브에서 Repository를 만드는 방법을 알아보겠습니다 :)

 

 

Repository 생성 방법

레포지토리란?

GitHub 계정에 파일이나 폴더를 저장하는 공간을 의미하며, 원격 저장소와 로컬 저장소로 나뉩니다.

  • 원격 저장소 : GitHub 서버에 파일과 소스코드를 저장하여 공유하는 공간
  • 로컬 저장소 : PC에 프로젝트를 생성하고 관리하는 개인 공간

🔽 아래는 Repository를 생성하는 자세한 과정을 찍은 사진입니다.

 

Repository 생성하기

  1. GitHub 계정에서 "New" 버튼 클릭
  2. Repository 이름과 설정 입력 (Public/Private, README.md 포함 여부 등)
  3. .gitignore 설정 : Unity 등 프로젝트별 환경에 맞는 옵션 선택
    • 만약 깃에 올리고 싶지 않은 파일이 있다면 꼭 .gitignore파일을 만들어야합니다!

 

이제 깃허브를 사용하는 방법을 자세하게 알아보겠습니다 :)

저희는 두 가지 방법을 준비했습니다!

첫 번째는 GitHub Desktop 을 활용한 방법입니다.

두 번째는 터미널을 활용한 방법입니다.

일단, 첫번 째인 GitHub Desktop 을 활용한 방법을 먼저 알아보겠습니다.

GitHub Desktop 소개

GitHub Desktop란 무엇일까요?

GitHub와 연동된 Git 저장소를 GUI로 관리할 수 있는 도구입니다.

 

 

 

GitHub Desktop 설치 방법

GitHub Desktop은

공식 페이지

에서 다운로드할 수 있습니다.

 

이제부터 Git 사용 방법에 대해서 알아보겠습니다!

 

Git협업과 버전 관리를 위한 매우 유용한 도구입니다.

 

아래에서는 기본적인 Clone, Commit, Push, Pull 명령어의 사용 방법과 절차를 단계 별로 소개합니다.

 

 

Clone

Clone은 GitHub에 있는 소스 코드나 저장소(Repository)를 로컬로 복제하는 과정입니다.

 

🔽 아래는 소스코드를 Clone하는 자세한 과정을 찍은 사진입니다.

 

GitHub에서 Clone URL 복사

  1. GitHub 페이지에서 Code 버튼을 클릭합니다.
  2. 표시된 Clone URL을 복사합니다.

 

GitHub Desktop에서 Clone 실행

  1. GitHub Desktop에서 Add 버튼을 클릭한 뒤 Clone Repository를 선택합니다.
  2. URL 탭에 복사한 URL을 붙여넣고, 원하는 로컬 저장 경로를 설정한 뒤 Clone 버튼을 클릭합니다.

Commit

Commit 은 코드 변경 사항을 영구적으로 기록하는 과정입니다.

프로젝트의 특정 시점을 안전하게 저장하고, 필요할 때 언제든지 해당 시점으로 돌아갈 수 있도록 합니다.

 

🔽 아래는 소스코드를 Commit하는 자세한 과정을 찍은 사진입니다.

  • 변경 사항 확인
    1. 로컬 저장소에서 수정한 파일이 GitHub Desktop에 표시됩니다.
    2. 변경된 파일과 내용은 변경 사항 섹션에서 확인 가능합니다.
  • Commit 실행
    1. 변경된 내용을 요약해서 작성(예: "fixed")합니다.
    2. Commit to main 버튼을 클릭해 변경 사항을 기록합니다.

 

Push

**Push**는 로컬 저장소의 변경 사항을 원격 저장소로 업로드하는 명령어입니다.

 

🔽 아래는 소스코드를 Push하는 자세한 과정을 찍은 사진입니다.

  • Push 실행
    1. GitHub Desktop에서 Push origin 버튼을 클릭합니다.
    2. 서버에 변경 사항이 업로드됩니다.
  • GitHub에서 결과 확인
    1. GitHub 페이지에서 변경된 내용을 확인할 수 있습니다.

 

Pull

PullPush반대 개념으로, 원격 저장소에 업데이트된 내용을 로컬로 가져오는 과정입니다.

 

🔽 아래는 소스코드를 Pull하는 자세한 과정을 찍은 사진입니다.

 

Pull 실행

  • GitHub Desktop에서 Fetch origin 또는 Pull origin을 클릭합니다.
  • 원격 저장소의 최신 내용을 로컬 저장소로 동기화합니다.

위와 같은 과정을 통해 Git과 GitHub를 효과적으로 사용하여 프로젝트를 관리할 수 있습니다.

 

협업 환경에서는 팀원들과의 변경 사항을 지속적으로 공유하고 업데이트하는 것이 중요합니다.

 

 

Branch

: 독립적인 작업 공간 만들기

 

Branch는 프로젝트의 독립적인 작업 공간을 의미합니다. 새로운 기능을 추가하거나 실험적인 코드를 작성할 때 유용합니다.

 

🔽 아래는 Branch를 생성하는 자세한 과정을 찍은 사진입니다.

 

  • Branch 생성
    1. GitHub Desktop에서 "Current branch"를 클릭한 후 "New branch"를 선택합니다.
    2. 새로운 Branch 이름을 작성하고 "Create branch"를 클릭합니다.
  • Branch 간 변경 사항 확인
    1. Branch는 독립적이므로, 하나의 Branch에서 커밋한 내용은 다른 Branch에 영향을 미치지 않습니다.
    2. 예를 들어, test Branch에서 커밋한 내용은 main Branch에 나타나지 않습니다.

 

 

Merge

: branch 병합하기

 

Merge여러 Branch의 작업 내용을 하나로 합치는 과정입니다. 이를 통해 각 Branch에서 작업한 내용을 통합할 수 있습니다.

 

🔽 아래는 소스코드를 Merge하는 자세한 과정을 찍은 사진입니다.

 

  • 충돌 해결 방법
    1. VSCode에서 충돌 파일을 열고 <<<<<<< , ======= , >>>>>>>로 표시된 부분을 확인합니다.
    2. 원하는 내용을 선택하여 충돌을 해결한 후 저장합니다.
  • 해결 후 커밋
  • 충돌 해결이 완료되면 GitHub Desktop에서 다시 Commit을 진행하고, 병합을 완료합니다.

 

위 과정을 통해 GitHub와 GitHub Desktop을 활용한 Git의 기본적인 작업 흐름 ( Push , Pull , Branch , Merge , Conflict)을 배울 수 있습니다.

 

실습을 통해 각 단계에 익숙해지면 협업에서 Git을 효과적으로 사용할 수 있습니다.

 

 

➡️ 이제부터 터미널 명령어를 사용해서 Git을 관리하는 법을 알아보도록 하겠습니다.

Git 기본 설정 명령어

 

Git을 사용하기 전, 기본적인 사용자 설정을 해야 합니다.

 

사용자 정보를 설정하면커밋에 기록되어 나중에 커밋한 사람이 누구인지 확인할 수 있습니다.

 

git config --global user.name "이름"
git config --global user.email "이메일"

 

 

더보기
  • user.name: 사용자의 이름을 설정합니다. 커밋마다 기록되며, 식별에 사용됩니다.
  • user.email: 이메일 주소를 설정합니다. GitHub와 같은 원격 저장소에 연동할 때 필수입니다.

 

 

Git을 처음 사용할 때 알아두면 유용한 명령어로는 git init, git status, 그리고 git clone이 있습니다.

 

앞으로 위와 같은 명령어를 사용해서 Git을 관리하는 방법에 대해서 알아보도록 하겠습니다 !

 

 

일단 가장 기본적인 git init 와 git status를 알아보도록 하겠습니다 !

 

 

git init

: 새로운 Git 저장소를 시작하는 명령어

 

  • 실행 후 .git 디렉토리가 생성되며, 해당 폴더는 Git으로 버전 관리를 시작합니다.

 

 

사용법

git init

 

위 명령어를 실행하면, 현재 디렉토리가 Git 저장소로 초기화됩니다.

 

예를 들어 C:\\example 경로에서 실행하면 .git 폴더가 생성됩니다.

 

 

git staus

: 현재 작업 디렉토리와 스테이징 영역의 상태를 확인할 수 있는 명령어

 

  • 파일 상태를 쉽게 파악하여 다음 작업을 계획할 수 있습니다.

 

 

사용법

git status

 

 

더보기

아직 커밋된 파일이 없을 경우, "nothing to commit" 메시지가 출력됩니다.

 

git clone

: 원격 저장소의 내용을 로컬 컴퓨터로 복제하는 명령어

  • 원격 저장소의 모든 데이터(커밋, 브랜치, 파일 등)로컬에 복제하여 작업을 시작할 수 있습니다.

 

 

사용법

git clone [복사한 주소]

 

더보기

예를 들어, GitHub의 example_repository를 복제하려면, 해당 저장소의 주소를 복사한 후 명령어를 실행합니다.

 

 

Git Clone 이후 디렉토리 변경

 

Git Clone 명령어로 로컬 저장소에 레포지토리를 복제한 이후, 해당 레포지토리로 디렉토리를 이동해야 작업을 시작할 수 있습니다.

 

사용법

cd [레포지토리 이름]
  • 여기서 cd는 "change directory"를 의미하며, 작업할 디렉토리로 이동하기 위해 사용됩니다.

 

결과

(레포지토리 내에서 작업할 준비가 완료됩니다)

더보기

예를 들어, example_repository 디렉토리로 이동하면 다음과 같이 표시됩니다:

PS C:\\example\\example_repository>

 

 

git branch

: 브랜치 생성 및 관리

  • 브랜치는 독립적인 작업 환경을 제공합니다.
  • 새로운 기능 개발이나 버그 수정을 위해 브랜치를 생성하는 것이 일반적입니다.

 

 

  • 브랜치 생성 :
git branch [브랜치 이름]

→ 출력은 없지만, 새로운 브랜치가 생성됩니다.

 

  • 브랜치 목록 확인:
git branch

→ 현재 생성된 브랜치와 현재 작업 중인 브랜치를 확인할 수 있습니다.

 

  • 브랜치 변경:
git checkout [브랜치 이름]

→ 변경 시 "Switched to branch '[브랜치 이름]'"라는 메시지가 표시됩니다.

 

 

git add .

: 변경된 파일을 스테이징 영역에 추가하는 명령어

  • 이 작업을 통해 커밋할 준비를 합니다.

 

  • 사용법
git add .

→ 현재 디렉토리 내의 모든 변경 사항을 스테이징 영역에 추가합니다.

 

  • 특정 파일 추가
git add [파일명]

 특정 파일만 추가하고 싶을 때 사용됩니다.

 

 

git commit

: 스테이징 영역에 있는 변경 사항을 로컬 저장소에 기록

  • 커밋은 변경사항을 한 단계로 묶어 저장하는 작업입니다.

 

  • 사용법
git commit -m "[커밋 메시지]"

메시지를 통해 어떤 변경 사항을 커밋했는지 설명할 수 있습니다.

더보기

💡 커밋 메시지 작성 시 팁 !

  • 변경 사항의 목적과 내용을 간결하게 작성하세요.
  • 예: "index.html 추가"

 

 

커밋 메시지를 이모지를 사용해서(ex ➕) 체계적으로 작성하면 프로젝트 관리가 쉬워집니다.

 

다음은 일반적으로 사용하는 커밋 태그입니다 :

  • [ADD] : 새로운 코드나 파일 추가
  • [MOD] : 코드 수정
  • [FIX] : 버그 수정
  • [DOCS] : 문서 관련 변경
  • [FEAT] : 새로운 기능 추가

 

git push

: 로컬 저장소의 변경 사항원격 저장소에 업로드

 

 

  • 사용법
git push origin [브랜치 이름]

→ 여기서 origin은 기본 원격 저장소를 나타냅니다.

 

  • 결과 : 원격 저장소에 브랜치가 업데이트되고, 다른 팀원과 변경 사항을 공유할 수 있습니다.

 

 

git merge

: 두 개의 브랜치를 병합하는 작업

  • 보통 로운 기능 개발이 완료된 브랜치main 브랜치에 병합하여 모든 사용자가 접근 가능하도록 합니다.
  • 다른 사람의 브랜치와 병합 시 충돌(conflict)이 발생할 수 있으니 주의가 필요합니다.

 

 

Git Merge 실행하기

  1. 현재 브랜치 확인 및 전환
    병합하고 싶은 브랜치로 이동해야 합니다. 예를 들어, main 브랜치에 병합할 경우:
    git checkout main
    
  2. 병합 명령어 사용
    병합하고자 하는 브랜치 이름을 명시합니다.
git merge [브랜치 이름]

예시에서는 feature-HyeonJoooo 브랜치를 main 브랜치에 병합하였습니다. 결과적으로 변경사항이 메인 브랜치에 반영됩니다.병합하고자 하는 브랜치 이름을 명시합니다.

 

 

3. GitHub에서 Merge 확인

 

병합 작업을 완료한 뒤 GitHub에서 Pull Request를 열어 병합 상태를 확인할 수 있습니다. Compare & Pull Request 버튼을 클릭하고, 병합을 승인하면 완료됩니다.

 

 

더보기

💡  GitHub 혼자 공부하기 팁

GitHub 사용이 처음이라면 다음 팁을 참고하세요:

 

기본 명령어 연습 : Git 명령어를 터미널에서 반복적으로 입력하며 익숙해지세요.

 

강의 참고 : 아래 추천 강의에서 기초부터 차근차근 배울 수 있습니다.

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

 

 

이번 세션에서는 Git 및 GitHub 사용법을 간단히 소개했습니다 : )

 

이 자료가 도움이 되었으면 좋겠습니다 !! 🙂