TIL 8 - GIT and Github

chachacha·2021년 4월 2일
0

Git

목록 보기
1/2
post-thumbnail

Programming을 처음 접하는 저로써는 Git과 Github가 똑같은줄 알았다... 😂

Git을 공부하면서 이 둘은 똑같이 VCS - Version Control System (버전 관리 시스템)이지만 완전히 다르다는걸 배웠다. 이번 포스팅에서는 이 둘이 어떻게 다른지 알아보고 Git이 어떻게 작동 하는지 알아보자!

What is Git?

  • 로컬 방식으로 관리되는 버전 관리 시스템
  • Source Code 수정에 따른 버전을 관리해주는 시스템
    • (Source Code: 컴퓨터 소프트웨어 제작에 사용되는 설계 파일. 추상적인 설계도가 아니라 당장 컴퓨터에 입력하면 진짜 프로그램을 완성할 수 있는 설계 파일.)

What is Github?

  • 클라우드 방식으로 관리되는 버전 관리 시스템
  • 로컬 자체 구축이 아닌 클라우드를 빌려쓰는 시스템
  • 로컬 git 자료들을 다른 사람들과 공유하거나 백업해놓을 수 있는 웹사이트
  • 프로젝트 협업 시 팀원들과 github을 통해 서로의 코드를 가져오고 공유

How does Git work?

Git을 잘 이해하고 활용할려면 Git의 workflow를 잘 이해해야 한다.

Git에는 크게 3가지 작업 환경이 있다.

Working Directory - Project file들을 수정하고 작업하는 곳

Staging Area - 작업을 하고 version history에 저장할 준비가 된 파일들을 옮겨 놓는 곳

.git Directory - 버전의 히스토리를 가지고 있는 곳

위 사진을 보면 프로젝트 파일들을 working directory에서 작업하고 있습니다.

작업을 하다가 B 와 C 파일들은 어느정도 준비가 되었다면 위 사진처럼 B 와 C를 staging area로 옮겨놓습니다.

commit이라는 명령어를 써서 staging area에 있는 파일들을 git version history에 저장하게 됩니다.

checkout이라는 명령어를 쓰면 언제든지 다시 working directory로 돌아갈 수 있습니다.

이렇게 저장된 git history는 내 컴퓨터에만 저장되어 있게 됩니다. 이런 경우 내 컴퓨터에 문제가 생기면 git history를 다 잃어버릴 수도 있습니다.

이런 경우를 대비해서 push이라는 명령어를 써서 github같은 클라우드에 업로드 해놓을 수 있고 pull이라는 명령어를 써서 다시 로컬로 다운로드 받을 수도 있습니다.

더 세부적으로 working directoryuntracked 그리고 tracked로 나누어 집니다. Git이 이미 알고 있거나 트레킹하고 있는 파일들은 tracked로 분류가 되고 새로 만들어진 파일이거나 기존에 존재하던 파일에서 git을 초기화하게 되면 git이 파일에 대한 정보가 없기 때문에 untracked로 분류가 됨.

Git이 트래킹하고 있는 파일들 중에서도 이 시점에 수정이 되었는지 안되어 있는지 따로 unmodified 그리고 modified로 분류하게 됩니다.

수정이 된 modified파일들만 staging area로 옮겨갈 수 있습니다!

Reference
https://www.youtube.com/watch?v=Z9dvM7qgN9s&t=577s

0개의 댓글