본문 바로가기
개발 환경 & 개발 도구/GitHub

[GitHub] Git과 GitHub 설치법 및 기초 사용법

by 민됴리 2023. 3. 30.
반응형

Git과 GitHub

GitHub 로고

  개발자들 사이에서 자주 묻는 질문 중 하나는 "GitHub(깃허브) 계정이 어떻게 되세요?"입니다. GitHub가 무엇일까요? GitHub를 알아보기 전에 Git(깃)에 대해 먼저 알아야 합니다.

  Git은 분산형 버전 관리 시스템(Distributed Version Control System)입니다. 이를 통해 Git의 가장 핵심적인 두 가지 기능을 유추할 수 있습니다. Git의 첫 번째 특징은 저장소가 ‘분산’되어 있다는 것입니다. 어떤 하나의 특정 서버가 아닌 자신의 컴퓨터에 생성되는 로컬 저장소에 코드를 저장한 후, 이를 중앙 서버에 푸시(push)할 수도 있고, 다른 사람의 로컬 저장소에 저장된 코드를 가져와서 사용할 수도 있게 해줍니다. 두 번째 특징은 '버전 관리'를 통해 코드 관리를 용이하게 할 수 있다는 것입니다. 개발을 하다보면 로직이 꼬이거나 기획이 변경되어 코드를 예전 상태로 돌리고 싶으신 경우가 한 번쯤은 있으실 겁니다. 저 같은 경우에는 Git을 사용하기 전에는 코드들이 수정될 때마다 복사해서 폴더에 저장한 후 폴더명을 ‘날짜 - 내용’ 이런 식으로 관리했는데, 이는 용량도 많이 차지할 뿐더러 매우 번거로웠습니다. 하지만 Git에 커밋(commit)한 코드는 변경 이력을 모두 저장하고 있기 때문에, 언제든지 이전 버전으로 돌아갈 수 있습니다. 이를 통해 로직이 꼬이거나 기획이 변경되어 문제가 생긴 경우, 예전 버전을 가져와서 문제를 해결할 수 있습니다.

  Git 자체만 설치돼있어도 모든 기능을 사용할 수 있지만, 편리성을 높이기 위해 GitHub 또는 GitLab(깃랩)과 같은 플랫폼들을 사용하는 것이 일반적입니다. GitHub와 GitLab은 각각 장단점을 가지고 있습니다. GitLab은 기업용으로 개발된 플랫폼이기 때문에 강력한 보안 기능을 제공하고, 따라서 직장에서 많이 사용됩니다. 반면 GitHub는 편리성과 속도 측면에서 우수하며, 무료로 제공하는 다양한 기능들이 많아서 개인 및 소규모 프로젝트에서 자주 사용됩니다. 그래서 처음 Git을 사용한다면 GitHub를 사용하는 것을 권장드립니다.

  Git과 GitHub에는 정말 많은 기능들이 있습니다. 이 글에서는 개인 프로젝트를 진행하고 처음 Git/GitHub를 사용하시는 분들을 위해 윈도우에서 Git 설치 및 환경 설정하는 법, 그리고 아주 기초적인 기능들을 소개해드리겠습니다.

 

GitHub 사용법

1. GitHub 계정 만들기

https://github.com/에 접속하여 회원 가입을 진행합니다. 오른쪽 위에 있는 'Sign Up'을 클릭합니다.

 

회원 가입에 필요한 정보들을 차례대로 입력해 계정을 생성합니다.

2. Git 설치하기

GitHub는 Git을 쉽게 사용하도록 도와주는 플랫폼입니다. 따라서 GitHub를 사용하려면 Git이라는 프로그램을 먼저 설치해야 합니다.

https://git-scm.com/downloads에 접속합니다. Downloads라 적힌 곳에서 사용 중인 운영체제를 클릭합니다.

'Click here to download'를 클릭합니다. 다운로드된 설치 파일을 실행합니다. 특별히 설정하고 싶은 부분이 없으면 Next 버튼을 계속 눌러 설치를 완료합니다.

3. Git 환경 설정하기

GIt Bash에서 명령어 입력
윈도우 터미널에서 명령어 입력

Git을 설치하면 Git Bash가 함께 설치됩니다. Git Bash 또는 명령 프롬프트를 열어주신 후 아래 명령어를 입력하여 이메일 주소와 이름을 등록합니다. 윈도우 11에서는 윈도우 터미널을 열어서 작업하실 수도 있습니다.

이메일을 적는 부분에는 GitHub에 가입된 이메일을 적어주세요. 이름은 커밋 내역에 보이는 부분인데 아무 이름이나 적어도 됩니다.

git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"

 

4. GitHub 리포지토리 만들기

GitHub에서는 리포지토리(repository, 저장소)에서 하나의 프로젝트 또는 기능을 관리합니다.

먼저 GitHub에 접속하여 리포지토리 생성을 'New'를 클릭합니다.

 

리포지토리의 이름과 설명을 작성하고, 리포지토리 를 공개로 유지할 것인지 비공개로 유지할 것인지를 설정합니다. 리포지토리 의 이름에 한글은 적을 수 없으며, 띄어쓰기가 있을 경우 -로 대체됩니다. 저 같은 경우에는 'Tistory Blog Skin'이라는 이름을 적었는데 'Tistory-Blog-Skin'으로 자동 변환됩니다. 또한, 리포지토리의 설명에는 한글을 적을 수 있지만, 가급적이면 영어로 적는 것을 추천드립니다. 다른 설정 부분은 GitHub에 익숙해진 이후에 필요에 따라 사용하시면 됩니다.

리포지토리가 생성됐습니다.

5. 로컬 컴퓨터에 리포지토리 복제하기

로컬 컴퓨터는 현재 사용하고 계신 컴퓨터를 뜻합니다. GitHub 리포지토리에 있는 것을 로컬 컴퓨터로 가져오는 작업을 복제(clone, 클론)이라고 합니다.

가장 먼저 리포지토리를 생성하고자 하는 폴더를 열어줍니다. 저는 'Tistory-Blog-Skin' 리포지토리를 '5. 블로그' 폴더에 복제하려고 합니다. 폴더에서 마우스 우클릭을 한 후 ‘터미널에서 열기’를 눌러주면 해당 폴더를 경로로 윈도우 터미널이 실행됩니다.

'더 많은 옵션 표시'를 클릭한 후 'Git Bash Here'를 클릭하면 Git Bash가 해당 폴더를 경로로 실행됩니다. 윈도우 터미널 또는 Git Bash 중 편한 것을 사용하시면 됩니다.

리포지토리로 돌아가서 'Code'를 클릭한 후 복제를 위한 주소를 복사합니다.

Git Bash나 명령 프롬프트 또는 윈도우 터미널에서 아래 명령어를 입력하여 현재 사용 중인 컴퓨터에 리포지토리를 복제합니다.

git clone "복사한 주소"

컴퓨터에 리포지토리가 복제된 것을 볼 수 있습니다.

리포지토리를 복제한 폴더 안에는 ‘.git’ 폴더가 있는데, 이 폴더는 리포지토리를 복제한 폴더 안에서 GIt 명령어를 사용할 수 있도록 해주고 Git과 관련된 설정이 저장돼있기 때문에 절대 삭제하지 말아주세요.

6. 리포지토리 수정하기

파일을 수정하거나 새로운 파일을 만듭니다. 저는 'skin.css', 'skin.css', 총 2개의 파일을 새로 만들었습니다.

7. 변경 내용 스테이징하기

파일을 새로 만들거나 수정해서 로컬 컴퓨터에 복제한 리포지토리에 변화가 생겼습니다. 이러한 변화를 Git에게 알리기 위해 '스테이징'을 해야 합니다. Git Bash나 명령 프롬프트에서 아래 명령어를 입력합니다.

git add 파일이름

모든 변경 사항을 스테이징하고 싶다면 위 명령어의 ‘파일 이름’ 부분에 '.'을 넣어줍니다. 하나의 수정 또는 추가된 파일만 스테이징하고 싶다면 '파일이름' 부분에 해당 파일의 '경로+이름'을 적어줍니다.

8. 변경 내용 커밋하기

변경 내용을 커밋하기 위해서는 Git Bash나 명령 프롬프트에서 아래 명령어를 입력합니다. 커밋 메시지는 이번 커밋에서 변경한 내용을 요약하는 메시지를 입력합니다. 커밋 메시지를 작 적어야 나중에 무슨 작업이 발생했는지도 확인하기 편해서 잘 적어주는 것이 중요합니다. 'commit message convention'이라고 검색하면 많은 사람이 사용하는 작성법을 볼 수 있습니다.

git commit -m "커밋 메시지"

9. 로컬 컴퓨터에서 변경한 내용을 GitHub에 푸시(push)하기

변경 내용을 로컬 컴퓨터에서 GitHub에 업로드하려면, Git Bash나 명령 프롬프트에서 아래와 같은 명령어를 입력합니다.

git push

이 명령어를 입력하면 변경 내용이 GitHub에 업로드됩니다. 이후 내용을 추가하거나 수정할 때마다 7~9번 과정을 반복합니다.

 

추가 공부 자료

나중에 기회가 된다면 팀 프로젝트를 위한 GitHub 사용법, GitHub의 더 많은 기능의 사용법에 대해서도 다루어보려고 합니다. 아래 유튜브들을 제가 예전에 GitHub 공부할 때 참고했던 것들인데, Git, GitHub에 대한 더 다양하고 심화된 정보를 알고 싶으시면 보시는 것을 추천드립니다!

반응형

'개발 환경 & 개발 도구 > GitHub' 카테고리의 다른 글

[GitHub 정리] 리포지토리 정리하기  (4) 2024.04.04