기타 자료관리 공부 📚

git/github(0)

Kortsec1 2022. 6. 16. 03:12

깃 Git

깃은 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다.

 

왜 쓸까요..??

쉽게 이해하기 위해 윈도의 파일 탐색기를 떠올려봅시다.

일반적인 파일 관리 / 공유

abcd.txt / hello.txt / what.txt 세 가지의 파일이 존재합니다.

이를 보관하고, 다른 개발자와 공유하기 위해 압축을 합니다(share.zip).

 

압축파일을 받은 다른 개발자는 abcd.txt 파일의 일부를 수정하려 할 때

압축 해제 → 파일 수정 → 압축

의 과정을 거치게 됩니다.

 

이전 개발자는 다시 수정된 압축파일을 받아 보관합니다. 이런 식의 수정이 계속해서 일어나다 보면,  추후 수정하기 전의 상태를 보고 싶을 때 단번에 찾아내기가 쉽지 않을 겁니다.

변경된 버전별 압축파일들의 모습

 

 

빠른 속도와 분산형 저장소를 지원하는 git을 사용하면 어떨까요?

git 파일 버전관리 예시

언제 누가 어떻게 파일을 수정했는지, 해당하는 사람의 comment까지도 세세히 볼 수 있습니다.

대부분의 개발 특성상 여럿이 달려들어 자기 맘에 드는 걸 하기도 하며, 또한 뭘 하나 잘못 붙였다 이상한 걸 건드려 망하기 쉬운데, git은 이러한 환경의 특성에 맞게끔 잘 만들어져 있습니다.

 

특히 빠른 속도, 단순한 구조, 비 선형적인 개발(동시 다발적인 수천 개의 branch) 그리고 완벽한 분산은 git이 가진 장점이자 목표라 할 수 있습니다.

 

 

다른 버전 관리시스템과의 차이도 분명히 존재합니다.

변경된 부분 관리에 중점을 두는 다른 일반적인 VCS(버전 관리시스템)들과는 달리, Git은 데이터를 파일 시스템의 스냅샷의 연속으로 취급하며 이를 중점에 두고 있습니다.

일반적인 VCS
Git

 

Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리합니다.

  • Modified : 파일을 수정/추가/삭제하고 staging 하지 않은 상태
  • Staged : snapshot 대상 수정 파일에 마크한 상태
  • Committed : 변경 내용이 확정되어 로컬 데이터베이스 저장된 상태

 

3 cycle of git

 

본격적으로 들어가기 전에 준비해야 할 것들이 있습니다.

 

< 프로그램 설치 >

* Windows환경을 기준으로 진행하였습니다.

 

Git

 

git-scm.com

 

git 설치 페이지

 

 

GitHub Desktop

Simple collaboration from your desktop

desktop.github.com

github desktop 설치 페이지

 

< Github 계정 생성 >

 

github 계정 생성

 

다 되었다면 이제 실습을 할 준비가 되었습니다.