[작성자 개발 환경]
운영체제 : MacOS (M1)
✔️ git이란 무엇인가?
git에 대한 개념을 이해하려면 먼저 형상관리에 대해 이해해야 한다.
형상관리(Configuration Management)란?
- 버전관리(Version Management)라고도 한다.
- 각자가 개발한 코드/문서들을 하나의 관리 도구에서 통합적으로 버전별로 관리하게 되는 것
- 크게 중앙집중식과 분산관리식으로 나뉘며
대표적으로 사용되는 도구는 중앙집중식의 SVN 그리고 분산관리식의 git 이다.
SVN, git 비교
1) SVN (Subversion)
- 로컬 PC에서
commit
하면 중앙 저장소에 반영
- 장점 : 직관적이라 쉬움
- 단점 : 충돌 확률 높음, 에러 시 복구 어려움
2) git
- 로컬 PC에서
commit
하면 로컬 저장소에 반영되고 로컬저장소에서 push
하면 원격 저장소에 반영
- 장점 : 처리속도 빠름, 웹 상의 저장소, 협업 용이성, 에러 시 복구 용이
- 단점 : 직관적이지 못함 (공유 과정이 비교적 복잡, 이는 상대적인 것으로 git에 대해 GUI 제공해주는 github desktop 등을 사용하면 어렵지 않음!)
git 정의
git 홈페이지에서는 git에 대한 정의를 이렇게 해놓았다.

깃(git)은 크고 작은 모든 프로젝트를 빠르고 효율적으로 처리하기 위해 고안된 분산 버전 관리 시스템 (무료 오픈소스)
- git은 소스코드를 효과적으로 관리할 수 있게 해주는 무료 소프트웨어.
- SVN보다 여러 장점이 있어 git이 대세라고 한다.
git 특징
- git은 모든 변경사항과 파일들을 모든 시점에서 트래킹(추적)한다.
- 무엇이, 어디에서, 언제, 누구에 의해 바뀌었는지 등을 알 수 있음
- 파일 수정 중에 실수로 웹 사이트가 망가졌다면, 이전 시점으로 되돌아갈 수 있게 함
- git은 0,1로 이루어진 binary code로 파일을 읽기 때문에 원하는 것이 무엇이든 읽을 수 있다. (오디오, 이미지, 엑셀파일, 텍스트파일 등도 가능)
git github 차이
- git은 소스코드를 효과적으로 관리할 수 있게 해주는 소프트웨어 그 자체.
- github는 나의 git 파일을 업로드하는 곳. git의 웹호스팅을 제공 (github 말고도 gitlab, bitbucket 등이 있음)
- github로 인해 변경사항을 회사, 칭구와 공유할 수 있음. 나의 git 파일 업로드, 다른 사람의 git 파일 다운로드 가능. (git ≠ github)
- github desktop은 가독성이 좋지 않은 CLI(Command Line Interface)의 git을 위해 보기 좋게 GUI(Graphic User Interface)를 제공해주는 프로그램
- 따라서 이력서에 github가 아닌 git을 할 줄 안다고 적어야겠다.
git 설치
- git 홈페이지에 방문해 git을 다운로드 받는다.
- 터미널에서
git --version
입력하여 다운로드가 잘 되었는지 버전을 확인한다.
감사합니다. 많은 도움이 되었습니다.