[Git vs Github]

dhwnsdyd28·2023년 1월 19일
0

Git이란?

Git이란, DVCS의 일종으로, 로컬에서 파일을 저장하고 관리해주는 시스템이다.

DVCS :Distributed Version Control System

분산버전관리 시스템,DVCS 가 등장하게 된 이유는 뭘까? 일단, VCS가 뭔지부터 알아야 한다. VCS(Version Control System)이란, 어떤 소프트웨어, 파일의 소스코드가 수정되면 그 부분을 기억하고, 어떻게 변경되었는지 알려주며, 그 전에 코드는 어땠는지 알려주는 시스템이다.

필자는 이 전에 git의 개념을 모를 때는 그저 공부한 내용들을 github에 저장하며 그래! 오늘도 커밋했어!! 라고 자랑스러워 하며 나날이 푸르러가는 잔디밭을 보며 성취감을 느꼈었다.이제 생각하니 븅신.....

🤔코드만 공유할거면 이메일로 공유하거나, 복붙해서 주면 되잖아?🤔

먼저, 이 DVCS 시스템이 등장하게 된 배경을 알아보자. 하나의 프로젝트를 개발하는데에는 여러사람이 필요하다.

물론 한 사람을 잠 안재우고 밥먹는 시간빼고 전부 코딩시키면 한 사람으로도 될 수는 있다.

하지만, 그런 것보다는 여러사람이 작업을 하는게 더 효율적인데, 그러려면 서로 누가 어떤 부분을 작업했는지, 어떻게 작업했는지를 알아야했다. 물론, 웬만한 IDE에는 주석을 달 수가 있어서 어느정도는 알 수가 있다. 그러나 만약 내가 수정한 부분이 에러를 초래했는데 내 기억력이 안좋아서 수정 전의 코드가 기억이 안 난다면?
.
x되는 거다

VCS는 코드가 위에 말한 것 처럼 수정 전의 코드를 복구시켜주는 기능또한 가지고 있다. 그러니까, 줄여서 말하자면 주석을 일일이 달거나, ctrl+c, ctrl+v 해주는 것보다 더 효율적인 프로그램이 있으니 이걸 쓰자 라고 생각하면 편할 것이다.

GitHub이란?

git vs github

git은 로컬에 소스코드 파일을 저장할 수 있고, github은 소스코드 파일을 클라우드 저장소에 저장한다. 저장되는 장소의 차이이다.

git: local(네트워크 연결이 필요없는 내 컴퓨터(디바이스)
github: cloud(여러 사람이 네트워크를 통해서 접근 가능한 저장소)

hub란 단어를 생각해보자, 우리가 눈이 빠져라 기다리는 택배들이 떠오르지 않는가?

hub의 사전적 의미는 바퀴통이다. 바퀴통이란, 바퀴의 중심부분을 의미한다. 이 의미가 확장되어 hub는 어떤 특정활동의 중심지 라고 쓰이기도 한다. 위 사진에서 옥천 hub는 옥천에서 택배들이 모이는 장소라고 이해하면 된다.

이를 github에 대입해서 생각해보자. git에 저장된 파일들이 모이는 장소라고 생각되지 않는가? 안되면 말고

개발자들은 아까 말했듯이 협업을 많이 하는데, 협업을 위한 중심지가 hub이라고 생각하면 된다. 이 github에서 우리는 우리가 작업한 소스코드파일을 공유하고, 필요한 경우 내 로컬(git)에 저장할 수도 있다.

❗이것만은 알자❗

github을 쓴다면 적어도 이것들은 알아야 한다. 바로 commit, push,pull이다.

  • 커밋(Commit) : Git(로컬 저장소)에 파일을 추가하거나 변경 내용을 저장하는 작업
  • 푸쉬(Push) : Github(또는 원격 저장소)에 파일을 추가하거나 변경 내용을 저장하는 작업
  • 풀(Pull) : Github(또는 원격 저장소)에서 파일을 다운로드하는 작업

😓DVCS vs VCS😓

그래, VCS가 뭔지는 어찌어찌 이해했다고 치자. 근데 또 DVCS는 또 뭘까? 공부가 끝이 없다

DVCS란, 사전적 설명으로는 중앙 서버에 있는 코드를 개발자 각자의 로컬 컴퓨터에 복사한 후,
복사된 프로젝트를 가지고 작업하며 서버에 업로드를 하는 것이다.

여기서 중앙서버에는 클라우드 저장소가 있고, 개발자 각자의 로컬 컴퓨터에는 개발자들이 클라우드저장소에서 다운로드 받은 복사된 프로젝트가 있을 것이다.

🤝헷갈리지 말자! git이 VCS를 쓰지만, DVCS와 다른 것은 아니다. git은 VSC의 한 종류인 DVCS를 쓰는 것이다.🤝

profile
비전공자의 개발인생이야기.

0개의 댓글