📌버전관리 시스템(형상관리)
- Configuration Management Systems
- Version Control Systems
- 버전관리
- Source Data + History
- 협업, 작업추적, 복구 등이 가능
- Git 등장 배경
- Local Version Control Systems
- 내 컴퓨터에서 버전 관리 가능 → 내 컴퓨터 하드가 날아가면 전체 코드 사라짐
- 버전은 관리되지만, 협업은 여전히 어려움
- Centralized Version Control Systems
- 협업이 가능해짐
- commit 하는 순간 배포되어 다수에게 버그 유발 가능 (서버로 바로 commit)
- 인터넷이 안되면 작업이 불가능
- 자신만의 version history를 가질 수 없음
- Distributed Version Control Systems(현재)
- commit 하더라도 개인저장소 내에 적용됨 (다른 개발자에게 영향 없음)
- 원하는 순간에 배포(Push) 가능
- 오프라인에서도 작업 가능
- 자신만의 version history를 가짐
- 버전관리 시스템의 종류
CVCS - CVS, SVN, etc.,
DVCS - Mercurial, Git, etc.,
CVS
- 1980년대 만들어진 형상관리 시스템
- commit 중 오류 발생 시 Rollback 이 되지 않는 등의 문제
- 이후 SVN 으로 대체됨
SVN
Git
요즘 기업은 대부분 SVN OR Git 사용중
- Git 기반의 서비스
Github
Gitlab
• https://gitlab.com
• 설치형 버전관리 시스템 - 소스코드 보안이 중요한 기업에서 주로 사용
• 클라우드 버전 관리 시스템 - 10명 이하 무료 (Github 와 유사)
• Issue tracker, Git Remote Repository, API, Team, Group 기능 제공
📌Git 설치
git bash download
설치 창에서 계속 NEXT 눌러주면 됨
- Git 설치 확인
아래와 같이 버전이 출력된다면 설치과정 Pass
📌Git Global Configuration
git config --global user.name <username>
git config --global user.email <email>
- CRLF(Windows)
Windows - 저장소에서 가져올 때는 LF 를 CRLF 로 변경하고 저장소로 보낼때는 CRLF 를 LF 로 변경하도록 true로 설정
git config --global core.autocrlf true
- CRLF(Mac)
Mac - LF 만 사용하므로 input으로 설정
git config --global core.autocrlf input
💡참고 - Line ending
- Windows : CR (\r) + LF (\n)
- Unix or Mac : LF (\n)
- Windows 사용자와 Mac 사용자가 같은 Git Repository 를 작업할 때 코드에서 변경된 내용이 없어도 CRLF 차이로 인해 commit 이 발생할 수 있음
git config --global core.editor <editor>
git config --list
git config <key>
"이 글은 제로베이스 데이터 취업 스쿨 강의를 듣고 작성한 내용으로 제로베이스 데이터 취업 스쿨 강의 자료 일부를 발췌한 내용이 포함되어 있습니다."