Git이란?

Git은 리누스 토르발즈가 만든 버전 관리 시스템(Version Control System)입니다. 버전 관리 시스템이 필요한 이유는, 여러 명이 하나의 프로그램을 개발할 때, 각각의 프로그래머가 어떤 부분을 수정했는지 쉽게 확인할 수 있기 때문입니다. 물론 협업할 때 뿐만이 아니라 혼자 개발할때도 유용합니다. 예를 들어, 저같은 경우는 연구실에서 코드를 작성하다가 퇴근 후 굳이 소스를 이메일로 보내놓지 않아도 집에서 새로운 버전으로 업데이트를 할 수 있다는 장점이 있습니다.

제가 대학교를 다니던 때 (2010년대 초)만 해도 Git을 사용하는 사람은 많지 않았습니다. Git은 2005년에 처음 개발되었는데, 현업에서는 어땠을지 모르지만 학교에서는 Git이라는 것을 아는 사람은 보지 못했습니다. 그러다가 제가 대학원에 들어온 즈음에는 컴퓨터공학에 대한 관심이 증가하여, 개발자들 뿐만이 아니라 대학생들도 Git을 사용하기 시작했습니다. 최근에는 대표적인 Git 저장소인 GitHub 계정을 취업 시 포트폴리오로도 사용한다고 합니다.

저는 Git을 2017년에 처음 사용해봤습니다. 원래 Git의 용도보다는 개발자들 사이에서 Github를 사용한 블로그가 유행했기 때문에 Git을 배울겸 GitHub 블로그를 운영하기 위해서였습니다. GitHub 블로그를 만드는 것까지는 어렵지 않게 했으나, 글을 쓰거나 수정할 때마다 커밋/푸시를 해야하는 귀찮음 때문에 오래 운영하진 못했습니다.

Git을 다시 시작하는 이유

이전에 Java 포스트를 작성하던 중 소스코드를 같이 올려야 할 상황이 발생했습니다. 아무래도 프로그래밍 언어를 설명하기 위해서는 소스코드를 보여줘야만 하는 상황이 잦은데, 그냥 형식없이 소스코드를 붙여넣기에는 모양이 이쁘지 않고, 그림으로 삽입하는 것은 글을 보는 사람들이 복사할 수 없다는 문제가 있습니다. 당시 저는 워드프레스로 블로그를 이용하고 있었는데, 워드프레스 자체 기능으로도 소스 코드를 삽입하는 기능이 있기는 하지만 모양이 별로인데다 들여쓰기도 자동으로 지원하지 않았습니다.

물론 플러그인을 사용하면 워드프레스 포스트에서도 소스 코드를 IDE처럼 이쁘게 작성할 수는 있지만, 이렇게 하면 소스 코드에 수정사항이 생겼을 때 이를 변경하기 위해 글 자체를 수정해야 한다는 문제점이 있습니다. 만약 하나의 소스 코드를 여러 포스트에 작성했다면, 소스 코드를 수정하기 위해 모든 글을 수정해야하는 귀찮은 일이 발생하게 됩니다.

하지만 모든 소스 코드를 GitHub에 게시해놓고, 워드프레스 포스트에서는 GitHub의 Gist ID를 불러오기만 하면 추후 소스 코드를 수정할 일이 있더라도 GitHub에 올려둔 소스 코드만 변경하면 됩니다.

원래 그럴 목적으로 Git을 다시 시작했습니다만, 웹 컴파일러가 포함된 플러그인이 있어서 쭉 사용하고 있었습니다. 그런데 2022년부터 워드프레스 블로그의 속도가 점점 느려지기 시작했습니다. 마침 호스팅 계약 기간도 끝나가고 있었기 때문에, 이 기회에 그냥 다시 GitHub 블로그로 돌아가야겠다는 생각이 들어서 2023년부터 다시 GitHub으로 이사하였습니다.

앞으로의 계획

저도 Git을 사용한지 꽤 오래되었기 때문에 사실 잊어버린 부분이 상당히 많습니다. 게다가 저는 콘솔 화면에서 Git을 사용하는 것이 익숙치 않아 SourceTree만을 사용했었기 때문에 관련 포스트를 작성하기 위해서는 공부를 하며 포스트를 작성해야 할 것 같습니다. 최근에는 Git으로 정말 간단한 작업만 하다보니 오히려 콘솔이 편하게 되었네요.

Git 원격 저장소를 제공하는 곳은 여러 사이트가 있습니다. 처음 워드프레스 블로그를 올려두었던 웹 호스팅인 SiteGround에서도 Git 저장소를 제공하고 있습니다.

SiteGround 호스팅 기간이 만료되고 이전했던 Bluehost에서도 마찬가지로 Git 저장소를 제공하고 있습니다.

하지만 현재 대부분의 개발자들은 Git 저장소로 Github를 사용하고 있기 때문에 저도 Github를 위주로 Git 카테고리를 운영할 계획이며 Git에 대한 기초적인 설치방법부터 Github 블로그를 만드는 방법까지 다룰 예정입니다.

Tags:

Categories:

Updated:

Leave a comment