군만두의 IT 공부 일지

[후기] 패스트캠퍼스 백엔드 개발 부트캠프 8기 Git/Github 실시간 강의 본문

개발일지/패스트캠퍼스

[후기] 패스트캠퍼스 백엔드 개발 부트캠프 8기 Git/Github 실시간 강의

mandus 2024. 2. 11. 23:22

📅진행일정: 2월 6일 (화) ~ 2월 7일 (수) 19:00 - 22:00

코드 관리의 기본 of 기본

 

오늘은 Git/Github 실시간 강의에서 배운 내용을 정리해 보려고 합니다. 깃은 협업에 있어 정말 중요한 툴이라고 생각하기 때문에, 비전공자를 고려하여 편성한 강의가 아닐까 싶습니다.

 

강의를 진행하기 전, Visual Studio Code를 설치해야 합니다. 저는 이미 설치되어 있어 강의 내용을 그대로 따랐습니다.

 

🚀Git이 왜 필요한가?

 

강사님은 Git이 소스 코드 버전 관리 시스템(VCS, Version Control System) 중 하나라고 하셨습니다. Git은 분산형 버전 관리 시스템으로 코드의 버전 관리를 위해 사용되며, Github은 Git을 기반으로 하는 클라우드 기반 호스팅 서비스로서 프로젝트 협업을 위한 다양한 기능을 제공합니다. 이러한 Git과 Github를 통해 개발자들은 여러 개발자들이 동시에 작업한 소스 코드를 쉽게 합치는 로컬 저장소와 원격 저장소를 이용할 수 있습니다.

 

 

만약에 깃이 없었더라면, 위 사진처럼 코드에도 최종의 최종의 최종 코드를 저렇게 만들어서 로컬에서 직접 관리해야 했을 것입니다. 그리고 개발자는 협업을 해야 하는데, 개발자들이 만든 파일을 합칠 때 한 명이 다른 한 명의 파일을 직접 합쳐야 하는 번거로움도 발생합니다. 이렇게 되면 오타 등 여러 문제가 생길 수 있는데요. 이걸 편하게 해결해주는 것이 바로 깃입니다.

 

깃을 처음 설치하려면 [Git 공식 사이트]를 클릭하여 다운로드하면 됩니다. 이 사이트에 있는 자료가 Git 관련해서 서치했을 때 나오는 각종 블로그 자료보다 더 신뢰도가 높습니다.

 

▲ 실시간 강의가 진행되고 있는 Zoom

 

강사님은 깃을 사용하지 않았을 때, 파일의 버전을 어떻게 관리하는지 그림을 그려 설명해 주셨습니다.

 

그림에는 a 폴더(v1)와 a 폴더를 복사한 a 폴더 복사(v2)가 있습니다. v2를 만들면 겉으로만 봤을 때 뭐가 바뀐지 모르기 때문에 변경사항을 log 작성해야 합니다. 하지만 그림처럼만 하면 변경되지 않은 파일이 중복되어 용량이 커지는 단점이 있는데요. 이러한 예시를 통해 왜 깃이 필요한지, 버전 관리가 왜 필요한지 직관적으로 이해할 수 있었던 것 같습니다.

 

🚀Git을 직접 사용해보자

 

강사님은 좋은 강의를 들어도 직접 실습해보지 않으면 소용이 없다고 하셨습니다. 실습은 VSCode로 진행합니다. 간단하게 짚고 넘어가겠습니다.

 

1. Git 프로젝트 폴더 열기 및 초기화

 

아무 폴더를 하나 생성해서 VSCode에서 그 폴더를 열어줍니다. 이 폴더는 우리의 프로젝트 폴더가 됩니다. 그리고 그 폴더 안에서 New folder과 New file로 각각 폴더와 파일을 생성합니다. 이 파일은 소스 코드가 될 것입니다.

 

2. Git 초기화

 

프로젝트 폴더에서 Git을 초기화하여 Git 관리를 시작할 수 있습니다. 터미널에서 git init 명령어를 실행하여 새로운 Git 저장소를 생성합니다. 이 과정을 통해 해당 폴더는 Git 버전 관리가 시작됩니다.

git init

 

저처럼 VSCode에 기본적인 설정이 되어있는 경우에는 터미널에 명령어를 입력했을 때, 위 사진과 같이 Git 아이콘에 1 표시가 뜨면서 Github에 작업한 내용물을 전송할 준비를 마치게 됩니다.

 

3. GitHub 리포지토리 생성

 

그리고 강사님과 비슷하면서 다른데, 이건 제가 주로 사용하는 방법입니다. Github에서 New 버튼을 클릭하여 리포지토리를 하나 생성합니다.

 

4. GitHub에 푸시하기

생성하고 나면, 사진과 같이 리포지토리가 생성되는 것을 확인할 수 있습니다. 저희는 첫 번째 코드(user.name에 본인의 Github 아이디 대체)를 사용합니다.

echo "# github" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/user.name/github.git
git push -u origin main

 

이 코드의 내용은 아래와 같습니다. (init 제외)

 

1) README 파일 생성

  • 프로젝트의 설명이나 안내 사항을 적는 README.md 파일을 생성합니다. 이 파일은 프로젝트의 내용을 소개하고, GitHub 리포지토리의 메인 페이지에 표시되어 방문자에게 해당 프로젝트의 정보를 제공합니다.
  • 터미널에 다음 명령어를 입력하여 README 파일을 생성하고, 기본적인 설명을 추가합니다.
  • 이 명령어는 "github"라는 제목을 가진 README.md 파일을 생성하거나, 이미 존재한다면 해당 내용을 파일에 추가합니다.
echo "# github" >> README.md

 

2) 파일 추가 및 커밋

  • Git에 파일을 추가하려면, 먼저 변경된 파일을 스테이징 영역(stage)에 올려야 합니다. README.md 파일을 스테이징 영역에 추가합니다.
git add README.md
  • 이제 변경 사항을 저장소에 기록하기 위해 커밋(commit)을 합니다.
git commit -m "first commit"
  • -m 옵션 뒤에 오는 "first commit"은 커밋 메시지로, 변경 사항에 대한 간략한 설명입니다.

3) GitHub 리포지토리 생성 및 푸시

  • GitHub에서 새 리포지토리를 생성합니다. 리포지토리 생성 후, GitHub에서 제공하는 명령어를 터미널에 복사하여 붙여넣어 로컬 저장소와 원격 저장소를 연결합니다.
  • 로컬에서 작업한 내용을 GitHub 리포지토리에 푸시(push)하여 업로드합니다.
git remote add origin https://github.com/user.username/github.git
git branch -M main
git push -u origin main
  • 이 명령어들은 로컬의 커밋된 변경사항을 GitHub의 원격 저장소로 전송합니다.

이때까지 진행하셨으면, Github 리포지토리에서 README.md만 보이실 것입니다.

git add .
git commit -m "first commit"
git push -u origin main

 

위 명령어도 추가로 입력해 주시면, 아래 사진과 같이 작업물이 push된 것을 확인할 수 있습니다.

 

여기까지만 해도 Git/Github를 사용하는 기본 방법은 익힌 것인데요. 팀원들과 협업하기 위해서는 branch를 사용하는 방법도 알고 있어야 합니다. 아래는 각각 브랜치 생성, 변경, 삭제 코드입니다.

git branch branch.name
git checkout branch.name
git branch -D branch.name

 

🚀마무리

 

Git/Github을 잘 사용한다는 자신감은 없지만, 이 강의를 들으면서 알고 있던 내용을 다시 공부할 수 있었습니다. 강의는 Git과 GitHub의 기초를 다지기에 적합하여, 경험이 적은 개발자나 비전공자에게 특히 도움이 될 것 같습니다.

 

이 글은 패스트캠퍼스 백엔드 개발 캠프에서 수강한 내용을 작성한 것입니다.
Comments