개발자가 되기 위해서는 무엇을 알아야 할까요? 내일배움캠프(내배캠)에서는 비전공자도 개발자가 될 수 있도록 기초부터 숙련 과정까지 꼼꼼하게 커리큘럼을 설계했습니다. 그중 개발자에 입문하는 사람들에게 도움이 될 만한 정보들을 골라 내배캠 소식에서 알려드립니다.
개발자라면 필수로 알아야 하는 Git, 그리고 Github.
내일배움캠프에서는 Git과 Github를 효율적으로 사용할 수 있도록 여러 특강을 진행하는데요. 이번 글에서는 기초 특강에서 진행했던 내용 중 Git과 Github가 무엇인지 아주 쉽게 알려드리겠습니다.
Git이란?
Git은 버전 관리 도구입니다. 이 설명만 들어서는 무슨 의미인지 잘 모르겠죠? 일상과 관련된 예시로 쉽게 설명해 드릴게요.
[예시] 과제를 제출할 때 단번에 딱 하나의 파일로 만드는 경우가 보입니다. 막상 제출할 때가 되면 수정 사항들이 보이고, 수정하다 망치면 안 되니 백업본을 만들어 놓죠. 이 과정을 반복하다보면 아래처럼 수많은 파일이 만들어집니다.
![notion image](https://image.inblog.dev?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F0aea095e-11ea-4ab9-8f92-0b2104014a65%252FUntitled.png%3Ftable%3Dblock%26id%3Dc49b84ea-185e-4765-960f-26006a0470de%26cache%3Dv2&w=2048&q=75)
하지만 이와 같이 백업본을 만들어 놓는 방법은 다음과 같은 문제가 있습니다.
- 저장해야 하는 파일이 많아지고 지저분해진다.
- 각 파일마다 어떤 수정 사항(변경점)이 있는지 명확하게 확인할 수 없다
개발 영역에서 이렇게 모든 코드 및 파일을 관리한다면? 수많은 코드 속에서 어느 부분이 다른지 찾기도 어렵고, 코드의 양이 늘어나면 늘어날수록 관리해야 하는 용량도 늘어납니다.
Git은 이런 점을 모두 보완합니다. 코드의 변경점을 기록하는 데 최적화된 툴이죠.
Git의 장점
- 기능을 개발하면서 코드 변경점을 “기록”할 수 있습니다.
- 문제가 생겼을 때 특정 지점으로 되돌아 가는 것이 쉽습니다.
![notion image](https://image.inblog.dev?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F5e0145f7-6dd1-4d09-8b36-5d419a1854ce%252FUntitled.png%3Ftable%3Dblock%26id%3D828eccdf-26c9-4d88-bd16-9aa63adf5d41%26cache%3Dv2&w=2048&q=75)
![notion image](https://image.inblog.dev?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F690d1bbb-7090-4df0-b979-cfcb368b6041%252FUntitled.png%3Ftable%3Dblock%26id%3D7f8ce42d-6ce0-43f3-9fe0-0ad1565f6b20%26cache%3Dv2&w=2048&q=75)
Git 명령어 정리
git init | 프로그래밍을 git으로 관리하기 위해 딱 한 번만 입력하면 되는 명령어 |
git add <파일명> 혹은 git add | 저장하고 싶은 파일을 지정하는 명령어 |
git commit -m "기능 개발과 관련된 기록" | 실제로 저장하는 명령어 |
git log | 이전에 입력한 커밋 내역들을 확인할 수 있는 명령어 |
git status | git 상태확인 명령어 |
git branch <브랜치명> | 원본 파일을 변경하지 않고, 새로운 곳(새로운 브랜치)에 코드를 짜고 싶을 때 사용하는 명령어 |
git switch <브랜치명> 혹은 git checkout <브랜치명> | 해당 브랜치로 이동할 수 있는 명령어 |
git merge | 다른 브랜치에서 만든 코드를 원본에 합칠 때 사용하는 명령어 |
git stash | 임시로 코드를 저장해주는 역할 |
git clone | 원격 git 저장소를 복제할 수 있는 명령어 |
git push | 로컬 브랜치를 원격 저장소로 보내는 명령어 |
git pull | 원격저장소에 있는 데이터를 받아오는 명령어 |
Github란?
Github란 Git 파일들을 원격으로 저장하는 공간을 제공하는 서비스입니다. Git과 Github를 혼동하는 경우가 많은데, Github는 Git을 통해 프로젝트를 할 때 이 프로젝트를 저장하는 네트워크상의 저장 공간입니다.
Github 외에도 Gitlab, Bitbucket 등이 같은 서비스를 제공하지만, Github가 가장 널리 쓰입니다. 아직도 무엇인지 정확히 모르겠는 분들을 위해 예시를 들어 설명해 드리겠습니다.
[예시] 며칠 동안 공들여 레포트를 완성했습니다. 파일을 컴퓨터에만 저장해두면 갑작스런 컴퓨터 고장으로 파일을 완전히 잃어버릴 수 있습니다. 이런 상황을 방지(백업)하기 위해 드라이브, 클라우드 등을 사용합니다. 드라이브에 파일을 저장하면 팀원들과도 쉽게 공유할 수 있죠.
Github도 여러분이 파일을 저장하는 드라이브, 클라우드와 유사한 온라인 코드 저장소입니다.
Github 사용하는 이유
- 내 코드를 온라인 저장소에 백업을 할 수 있습니다.
- 팀원들과 협업할 때 내 코드를 바로 공유할 수 있습니다.
- 함께 작업이 가능합니다.
![Github는 여러 명이 함께 작업할 때 유용하다.](https://image.inblog.dev?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252Ffd6611e1-4c0a-46f1-901b-8ddad71933fa%252FUntitled.png%3Ftable%3Dblock%26id%3Dfc703ced-407e-42a1-ad86-42f39495ffa2%26cache%3Dv2&w=2048&q=75)
![Github는 코드를 온라인 저장소에 백업할 수 있다.](https://image.inblog.dev?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F192bff8c-a01f-4c9e-8449-b60eed3c0d30%252FUntitled.png%3Ftable%3Dblock%26id%3D4ca92972-8753-482d-9365-2dde1141b402%26cache%3Dv2&w=2048&q=75)
개발자 취업을 꿈꾸고 있나요?
내일배움캠프는 전공, 직업, 코딩 경험과 상관없이 누구나 개발자로 취업할 수 있기를 꿈꿉니다. 비전공자라서, 코딩 경험이 전혀 없어서, 다른 직업을 갖고 있어서. 그동안 이런 부담감 때문에 망설였다면, 내일배움캠프를 믿고 도전해 보세요.
개발자의 꿈에 다가서지 못하게 하는 수많은 장애물들을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드립니다. 내일배움캠프에서 당신의 결심을 결실로 만들어 보세요.
Share article
Subscribe to our newsletter