Colt Steele 강사님의 Git & Github 실무 활용 완벽 가이드 강의를 듣고 공부 기록 겸 작성한다.
VCS (Version Control System)이다. Version Control System은 이전 버전의 파일을 다시 볼 수 있게 해주고 파일들간의 변화를 비교한다거나, 변화를 되돌리고, 다른 작업자들과 그 변화를 공유할 수 있게 해준다.
ex) Git, CVS, Mercurial 등등이 있다.
Version Control이란?
파일의 변화를 시간에 따라 추적하고 관리한다.
Git이 VCS중 이용률은 앞도적으로 높다.
간단하게 말하자면, Git은 프로젝트의 버전들을 저장해놨다가 다시 돌아가는데 도움을 준다는 정도로 일단 알아두면 될 것 같다.
우리가 게임에서 체크포인트를 찍으면 죽어도 다시 체크포인트에서 부활하듯이, 이 기능이 Git으로 가능하다. 파일을 체크포인트마다 버전을 두는 것이다.
오른쪽 위의 그림은 우리가 만든 프로젝트이고, 깃에 올린 작업물의 버전이 원으로 표시된 것이다. 보면 빨간색 부분이 우리가 새로 만든 버전이고, 아래의 파란색 부분은 다른 버전이다. 빨간색 버전은 행이 하나 더 있고, theme이 밝다.
반면, 파란색 원의 버전은 행이 두개이고, 어두운 theme를 사용하고 있다.
이처럼 우리는 두가지 버전을 왔다갔다 할 수 있고 버전을 관리 할 수 있고, 심지어 마지막 사진처럼 두 버전을 병합해서 사용할 수도 있다.
출처 : 유데미 "Git & Github 실무 활용 완벽 가이드" 교재
이름은 Linus Torvals로, Linux와 Git의 제작자이다.
이 사람은 항상 오픈 소스에 동의해왔다.
그는 어느 시기에 팀으로 리눅스 작업을 하고 있었는데, 다른 VCS bitkeeper를 사용하던 중, 어느 순간 논쟁이 생겨서 Bitkeeper에서 리눅스 팀이 더 이상 무료로 사용할 수 없게 했다.
요금을 부과하려고 했는데, 이에 불만을 느낀 Linus는 직접 Git을 만들었다고 한다 ㅋㅋㅋㅋ 와우
당연하게도, 가장 확실하게 사용하는 사람들은 엔지니어, 개발자, 코드 작성자가 될 것이다.
많은 나라의 정부들이 Github를 통해 법률을 공유하면 시민들이 법률에서 오류를 찾아내 수정하기도 하고, 요즘에는 작가들 사이에서 Github가 유행한다고 한다!.... 나는 Git이 개발자들만 사용하는 것이라 생각했는데, 생각보다 다양한 분야에서 사용한다는 것에 놀랐다. 하지만 한편으로는, 특히 작가들은 Git을 유용하게 사용할 수 있을 것 같다는 생각이 들었다. 왜냐하면 작가들은 대본을 작성할 때 수많은 수정본과 버전이 존재할 것이므로, 그것을 관리하기 용이할 것이기 때문이다.
한마디로 버전관리 소프트웨어이고, 누군가의 컴퓨터에서 실행된다. 사람들의 컴퓨터에서 실행되지만, 인터넷은 필요없다. 계정도 필요 없고, 프로그램이 없으면 다운로드 해주면 된다. 말했다시피 소프트웨어니까!
마치 우리가 MS Word, Excel 같은 프로그램을 사용하는 것과 마찬가지이다.
깃허브는 웹서비스이다. 깃 저장소(Git Repository)가 필요하고, 호스트 역할을 한다. 클라우드에 저장해서 다른 사람과 쉽게 공동으로 작업할 수 있게 해준다. Git과 다르게 인터넷, 계정이 필요하다.
보통 Git을 배운 후, Github를 배워야 한다고 한다.