Git, Github에 대해서

김희산·2023년 3월 21일
0

TIL

목록 보기
15/23

개요


우리가 혼자서 또는 여러 명이서 프로젝트를 할 때 작업물을 만드는 과정에서 끊임없이 수정사항 등이 발생한다.
예를 들어, 이전에 썼던 코드를 다시 복원해야 할 수도 있고 실수로 오류가 난 코드들을 다시 되돌려야 할 일도 생긴다.
게다가 오류가 난 코드가 어디 있는지도 확인해야 할 상황이 생기기 마련이다.
예전 회사에 다닐 때는 작성한 엑셀파일을 저장할 때 수정한 날짜와 작성자의 이름을 파일 이름으로 저장했던 기억이 있다.
이렇게 돼버리면 파일이 계속해서 생겨나기 때문에 파일을 담고 있는 폴더의 크기가 계속해서 커지게 되고 용량을 비효율적으로 사용하게 돼버리는 일이 생긴다.

개발 공부를 하면서 알게 된, 대부분의 개발자들이 사용하고 있다고 해도 무방한 깃과 깃허브에 대해서 간단하게 다뤄보겠다.

Git


위에서 말했듯이, 프로젝트를 진행하는 과정에서 중간중간 백업은 반드시 필요하다. 그리고 개발자들에게 있어서 협업을 할 때 내가 짠 코드를 테스트하고 싶어 하는 경우가 계속 생기는데 이 코드를 테스트하려면 소프트웨어 프로젝트의 경우에는 내용이 통째로 있어야만 테스트가 가능하다.
이것을 만약 이메일이나 클라우드로 서로 공유하면서 주고받으면 얼마나 번거로운가?
-> 깃 등장 !!!

정의

  • 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간의 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산버전관리 시스템

Git은 버전관리 툴이다. (소프트웨어 )

  • 오픈 소스 버전 관리 시스템 ( VCS: Version Control System )
  • 로컬에서 버전 관리
  • 소프트웨어 개발 및 소스 코드 관리에 사용

위 3가지 내용이 깃에대한 설명인데 그래서 깃을 도대체 왜 사용하는 것인가?

  1. 프로젝트를 진행함에 있어서 ‘버전 관리’ 는 필수
    • 파일 크기가 백업 수에 비례하여 늘어나지 않음
    • 파일의 무엇이, 어디서, 몇 번, 누구에 의해 등 모든 변경 사항이 기록됨
  2. ‘협업’
    • 메인 폴더 기준으로 각 개발자들이 파트를 맡아 진행하게 된다. 소프트웨어 프로젝트는 간단한 테스트를 하려고 해도 모든 파일과 폴더가 전체적으로 구성되어 있어야 가능함

이렇게 깃의 여러 가지 장점은 많지만 그중에서도 깃을 사용하면서 제일 좋았던 건 "브랜치"이다. 로컬에서 독립적으로 브랜치를 만들어서 새로운 내용을 작업을 하고 그게 마음에 들면 메인 브랜치로 병합도 할 수 있고, 마음에 들지 않으면 브랜치를 다시 삭제할 수도 있는 자유로움이 정말 편하다고 생각한다.

하지만 좋은 점들도 있지만 단점도 있다. 그중에서도 직접 겪어본 단점은 팀원들과 협업을 할 때, 각자가 로컬 저장 소리는 개인적인 공간에서 작업을 하기 때문에 같은 파트를 작업하는 사람들끼리 소통이 되질 않으면 실시간으로 서로가 작업하는 내용을 알 수 없다. 만약 같은 부분을 수정한다 할지라도 서로의 작업을 확인할 수 없다.
그리고 같은 부분을 작업해서 충돌이 나는 경우가 발생할 수도 있다.

Github


깃허브를 한 줄로 요약하자면, 깃으로 저장돼서 원격전송된 내용들이 저장되는 공간을 제공하는 클라우드 기반의 서비스이다.
왜 깃허브를 사용할까?

  1. 버전 관리, 개발용, 운영용, private 한 코드들을 저장하는 등 여러 가지에 유용
  2. 협업 시 외장 장치를 이용하여 코드나 데이터를 공유하는 것보다 원격으로 공유하는 게 훨씬 빠르고 편함
  3. 여러 클라우딩 컴퓨팅 플랫폼들과 연동하여 배포를 효율적으로 관리할 수 있다.
  4. '백업'에 있어 유리하다.
  • Why? -> 모든 컴퓨터에는 '확실한 것'과 '불확실한 것'이 있다. 전자는 '컴퓨터는 언젠가 고장 난다는 것'이고 후자는 '언제 고장 날지 모른다는 것'이다.

내가 작성한 코드들을 안전하게 원격 저장소(깃허브)에 백업을 해두자.

profile
성공은 제로섬 게임이 아니라 주변인들과 함께 나아가는 것이다.

0개의 댓글