Git의 용어와 개념들 그리고 그 개념의 사용 순서

SeungMai(junior)·2021년 8월 25일
0

용어 및 개념 정리

  1. 저장소(Repository): 우리가 Git으로 관리하고 있는 폴더
  2. 커밋(Commit): 하나의 버전
  3. 로컬(Local): Local은 네트워크(인터넷)없이 접속 가능한 것
  4. 원격(Remote): 네트워크(인터넷)를 통해 접속해야 하는 것

1. 저장소(Repository)

"우리가 Git으로 관리하고 있는 폴더를 "저장소", "Repository", "Git Repo", ... 라고 부른다."

새 폴더를 만들면 그것은 그냥 폴더이다. 하지만 우리가 어떤 작업을 해주면 그것을 Git으로 관리되는 특별한 폴더로 만들 수 있다. 그 폴더를 저장소(Repository)라고 부른다.

2. 커밋(Commit)

"하나의 버전, 하나의 의미있는 변화들, Git이 저장한 하나의 기록"

하나의 버전(Version)을 우리는 하나의 커밋(Commit)이라 부른다. 버전이라고 하면 용어가 애매하게 다가올 수 있다. 그렇다면 버전의 뜻을 "의미있는 변화"라고 생각해보자. 예를 들어서, Python 버전2와 Python 버전3 사이에는 어떤 의미있는 변화가 있었다는 생각을 할 수 있다.

Git은 버전 관리 시스템이다. 다르게 말하면 Git은 내가 작업하는 파일의 의미있는 변화를 관리해주는 소프트웨어이다(이 의미있는 변화라는 표현은 버전의 가장 와닿는 표현이라고 생각한다).

3. 로컬(Local)

"네트워크(인터넷)없이 접속 가능한 것"

컴퓨터 공학에서 Local이라고 하면 문맥에 따라서 다르게 해석할 수 있다. 여기서 말하는 Local은 네트워크(인터넷)없이 접속 가능한 것을 말한다.

예를 들어서, Local 컴퓨터는 인터넷 없이 사용할 수 있는 컴퓨터를 말한다. 지금 이 글을 보고 있는 컴퓨터를 Local 컴퓨터라고 볼 수 있다.

4. 원격(Remote)

"네트워크(인터넷)를 통해 접속하는 것"

컴퓨터 공학에서 원격(Remote)이라는 단어도 문맥에 따라서 다르게 해석할 수 있다. 여기서 말하는 원격(Remote)은 네트워크(인터넷)를 통해 접속해야 하는 것을 말한다. 요즘 줌(Zoom) 수업을 많이 한다. 이런 형태의 회의는 인터넷을 통해 이루어지기 때문에 원격 회의라고 할 수 있다. Google Drive, NDrive와 같은 Cloud 서비스도 원격 저장소 서비스라고 할 수 있다.

우리는 다른 사람과 프로그래밍을 같이하기 위해 Git으로 관리하는 저장소를 인터넷에 올려서 공유한다. 이런 Git 저장소를 올려서 공유하는 사이트로는 대표적으로 Github, Bitbucket, GitLab이 있다(우리는 이중에서 가장 유명한 Github를 사용한다). 이런 사이트에 올린 저장소를 원격 저장소라고 부른다. 반대로 Github와 같은 사이트가 아닌 내 컴퓨터에 있는 저장소는 로컬 저장소라고 부른다.

Git의 명령어들의 사용 순서

  1. 저장소 복제: git clone 또는 저장소 선언: git init
  2. Commit할 파일 선택: git add .
  3. 선택할 파일을 실제로 기록(Commit)한다: git commit
  4. 원격 저장소(인터넷)에 업로드: git push
  5. 새로 올라온 Commit들 다운로드: git pull

어떤 파일을 Git으로 관리하고 싶으면 Git 저장소가 있어야 한다. 그래서 제일 처음에는 이미 있던 저장소를 인터넷에서 복제(git clone)해오거나 새로운 폴더를 저장소로 선언(git init)한다.

그 다음부터는 2.3.4.5.의 반복이다. 새로 변경한 파일을 git add 명령어로 커밋할 파일을 선택하고 git commit으로 진짜로 하나의 commit으로 만들어 기록한다. 그리고 그 commit을 다른 사람과 공유하기 위해 인터넷(Github에 만들어둔 저장소)에 git push 명령어로 업로드한다. 만약에 다른 사람이 그 원격 저장소에 어떤 commit을 새로 업로드했다고 하면 git pull 명령어로 자신의 로컬 컴퓨터에 다운로드해서 확인한다.

profile
👍🏻 SeungMai (매 순간 기록을!)🧑🏻‍💻 | WIL만 올리고 있습니다 | 기술블로그는 아래 🏠 의 링크를 이용해주세요.

0개의 댓글