Git 입문, Github가 무엇인가? VCS는 또 무엇일까?
✏️ 시작하면서…
본 내용은 gbc 1주차에 ProgrammerBase를 통해 배운 내용이다.
강의해주신 ghost 한찬솔님께 감사드리며, 더욱 자세한 내용은 이 곳에 기록되어있다.
본 내용은 위 사이트를 참고했고, 내가 이해한 것과 더욱 간결하게 글을 줄일 수 있다면 줄이며 나만의 글로 정리했다.
위 자료를 보고 공부를 했기 때문에, 대부분의 베이스 글은 위 사이트를 참조했다는 사실을 다시 한번 알린다.
🔗 Version Control System(VCS)
앞서, 우리는 github blog를 제작하는 법을 배웠다.
참고: Github Blog
그리고, docker설치법과 간단한 명령어를 배웠다.
참고: 도커(Docker) 입문
또, 커스터마이징된 도커에서 $ sudo apt install git
으로 git
을 설치할 수 있다.
github blog도 제작했고, 도커에서 git
도 쓸 수 있게 되었다.
그렇다면, git
이라는 것은 무엇일까?
git
을 알기 전에, VCS부터 알아보자.
VCS는 버전 컨트롤 시스템(Version Control System)이다.
이는, 문자 그대로 프로젝트의 버전을 손쉽게 다룰 수 있게 해준다.
VCS는 소스코드의 변화 과정을 알려주며, 소스코드의 백업에도 도움을 준다.
🕵️ git의 필요성
눈치챘겠지만, git
은 VCS의 한 종류이다.
나는 예전에 내가 만든 프로그램의 소스를 .txt형식으로 저장하거나, 네이버 메일에 소스를 백업했다.
이러한 소스코드의 백업 방식은, 작은 프로젝트에서는 괜찮을 것이다.
하지만, 규모가 큰 프로젝트라면?
예를 들어보자.
Unity로 게임을 만들고 있다고 가정하겠다.
당신은 소스코드뿐만 아니라, image파일, mp3파일 등 수많은 파일들을 가지고 있다.
이 또한, 네이버 메일에 백업을 할 것인가?
백업은 했다고 치자.
당신은 프로젝트Ver0.1의 파일들은 백업을 해놓았다.
그러나, 프로젝트Ver0.3은 아직 백업을 하지 않고, Local에 있는 상태이다.
이 때, 컴퓨터가 어떠한 이유로 정보가 다 날아가버렸다.
또는 실수로 키우던 고양이가 지워버렸다고 생각해보자.
(아주 불가능한 일은 아닐거라 생각한다)
이 상황에서, 우리는 프로젝트Ver0.3을 되살릴 수 있을까?
또 하나의 예를 들어보자.
당신은 15명이서 하는 규모가 약간은(?) 큰 프로젝트의 개발자이다.
이러한 VCS가 없다면, 당신은 누가 무엇을 고쳤는지 모르고, 소스코드가 어딨는지도 찾지 못할 수 있다.
위의 예시는 조금 극단적일 수 있다.
그렇다고 현실에서 아주 일어날 수 없는 이야기는 아니다.
(고양이 이야기도 충분히 있음직한 이야기다.)
우리는 위에서 다룬 문제점들을 git
으로 해결할 수 있다.
아직도 git의 필요성을 못느끼겠는가?
🤔 git이 무엇인가?
그토록 위에서 언급했던 git
.
도대체 git
이 무엇인가?
git
은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 출처:위키백과
또한, git
은 가장 인기있고 자주 사용되는 VCS이다.
우리는 우리의 코드들과 패키지들을 git
을 이용하여 github에 올릴 수 있다.
git
이 무엇인지에 대한 딱딱한 설명은 이 곳에서 정독하길 바란다.
우리는 바쁘므로 대충 위에서 말한 느낌이 git
의 느낌이라는 것을 알아줬으면 한다.
📝 git이 파일을 관리하는 상태
git
은 아래와 같은 상태로 파일들을 관리한다.
untracked 상태
: git이 변경사항을 추적하지 않는 파일.
만약 우리가 Github홈페이지에서 New Repository로 새 레포지토리를 생성했다면, 이 레포지토리가 untracked 상태인 것이다.modified 상태
: 파일을 변경했지만, 아직 스테이징이 되지 않은 상태staged 상태
: 변경된 파일을 커밋이 될 리스트에 포함시킨 상태.
git add
한 상태라고 보면 된다.committed 상태
: git 데이터베이스에 하나의 버전으로 저장된 상태
git commit
한 상태라고 보면 된다.
🐈 Github(깃허브)
여러분들은 개발을 하면서 Github(깃허브)라는 단어를 많이 들어봤을 것이다.
Github는 git레포지토리를 다른 사람과 공유할 수 있는 플랫폼이다.
이 곳을 통해, 우리는 협업이 가능하고, 나의 프로젝트를 담아볼 수 있다.
또, 전세계 사람들이 올린 public한 레포지토리를 구경할 수 있다!
이렇게 유용한 Github의 계정이 아직 없다면 당장 Github 사이트 에서 회원가입 하길 바란다.
++추가로 요즘은 Github에 있는 레포지토리들을 포트폴리오로 취급한다고 한다.
Github에 자신의 프로젝트를 잘 정리해서 많이 올려둬서 나쁠건 없어보인다.
🛠️ git 설치
마지막으로 git 설치를 끝으로 포스팅을 마무리하겠다.
우선, github에 계정이 있다고 가정한다.
- Ubuntu Linux(내가 커스터마이징한 Ubuntu에서 git을 쓰기 위해, Ubuntu Linux도 넣었다)
- Docker 안에서, Ubuntu Linux를 사용한다면,
$ apt install git
으로 설치가 가능하다.
git 설치 후, 아래 명령어 입력.(초기 설정)$ git config –global user.name [NAME]
$ git config –global user.email [EMAIL]
- Docker 안에서, Ubuntu Linux를 사용한다면,
- MacOS
- MacOS git Install
- git 설치 후, Git Bash를 실행하고 아래 명령어 입력.(초기 설정)
$ git config –global user.name [NAME]
$ git config –global user.email [EMAIL]
- Windows
- Windows git Install
- git 설치 후, Git Bash를 실행하고 아래 명령어 입력.(초기 설정)
$ git config –global user.name [NAME]
$ git config –global user.email [EMAIL]
여기서 언급한 NAME, EMAIL은 본인의 github ID와 github EMAIL임을 기억하자.
Leave a comment