데브코스 TIL - Day 2
23년 11월 15일 강의를 들은 내용과 추가로 더 학습한 내용을 기록한 글입니다.
버전 관리 시스템의 종류
1. 로컬 버전 관리 시스템
- 단순하게 내 컴퓨터 안에서만 버전 관리를 하는 방식
- 내 컴퓨터 안에만 버전을 관리하기 때문에 협업할 수 없음
2. 중앙 집중식 관리 시스템
- 클라이언트 서버 방식이라고도 함
- 중엉 시스템(서버)에 저장되어 관리하는 방식
- 변경할 파일을 하나만 가져와 작업하는 방식
- 여러명이 같은 파일을 수정했을 경우 변경된 내용을 확인하기 위해 파일을 하나하나 확인해야하기 때문에 비효율적임
- 대표적인 도구: CVS, SVN
3. 분산 관리 시스템
- 로컬 저장소와, 원격 저장소로 분리되어 관리하는 방식
- 필요한 버전의 폴더(프로젝트)를 가져와 작업하기 때문에 편리하고, 안정적임
- 대표적인 도구: Git, Mecurial, Bazaar
분산형 버전 관리 시스템 Git
컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율할 때 사용하는 분산 관리 시스템의 가장 대표적인 도구
Git이란?
- 내 컴퓨터에서 버전을 관리해주는 시스템이자, 깃허브와 소통할 수 있게 해주는 시스템
- 내 컴퓨터에서 변경한 버전을 서버에 동기화 시킬 수 있으며, 서버에 있는 버전을 내 컴퓨터로 받아올 수도 있음
Github란?
- Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트(서버)
- GitHub를 이용하면 시간, 공간의 제약없이 협업할 수 있음
- 내 프로젝트뿐만 아니라 GitHub에 올라와있는 다른 사람의 프로젝트를 다운로드, 복제할 수도 있고 내 프로젝트를 백업할 수도 있음
Git 공식 홈페이지 https://git-scm.com/book/ko/v2
CLI 와 GUI
GUI (Graphic User Interface)
- 그래픽 환경을 기반으로 한 마우스나 키보드를 사용하여 조작하는 사용자 인터페이스
- 그래픽으로 전달되는 그림이나 아이콘을 통해서 소통
CLI (Command Line Interface)
- 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스
- MS DOS, 명령 프롬프트(cmd), 파워셀, Bash, Terminal
자주 쓰는 명령어
ls
: 현재 폴더 안에 존재하는 파일들의 목록을 보여주는 명령어ls -a
: 모든 파일(숨김 파일 포함) 목록을 보여주는 명령어- window powershell에서는 작동하지 않음 (Linux의 Bash shell과는 다른 명령어 체계를 가지고 있기 때문)
cd
: 특정 폴더로 이동시켜주는 명령어cd ..
: 상위 폴더로 이동시켜주는 명령어mkdir
: 새로운 폴더를 만드는 명령어
자주 사용하는 깃 명령어
git --version
: 현재 git의 version을 확인하는 명령어git status
: 현재 git의 상태를 확인하는 명령어git init
: git- .git(숨김 폴더)
This post is licensed under CC BY 4.0 by the author.