1) VCS(Version Control System)
사진출처 : 나무위키
2) Git
3) 형상관리란?
3-1) Git & SVN의 장단점
SVN(Subversion) : 로컬 PC에서 프로젝트를 commit하면 중앙 저장소에 반영
(장점 : 직관적이라 사용하기 쉬움)
(단점 : 프로젝트를 commit 하다가 충돌이 일어나거나 에러발생시 복구가 어려움)
Git : 로컬 PC에서 프로젝트를 commit 하면 로컬 저장소에 반영되고, 로컬 저장소에서 push 하면 원격 저장소에 반영
(장점 : 처리 속도가 SVN보다 빠르고 에러가 발생해도 복구가 쉬움)
(단점 : 직관적이지 못하고, 공유과정이 복잡함)
4) 왜 코드도 버전 관리를 해야할까?
5) Github
(6) 기본적인 Git 명령어
Git init : git 저장소의 버전 관리를 위한 정보 생성
(버전관리를 하고 싶은 디렉토리에서 확인하고자 할때 쓰는 명령어 : git init)
Git status : git 상태 확인
(디렉토리에서 일어나고 있는 지금의 상태를 확인하는 명령어 : git status)
예제 실습)
(1) git_practice 폴더에 파일이 없을 경우
(2) git_practice 폴더에 파일을 생성시켰을 경우
(요약 : mkdir로 git_practice 폴더를 생성하고 git status로 해당 폴더에 Git 프로젝트 및 문서 내용들이 있는지 확인했는데 폴더에 내용이 없었고, 지금은 md(mark down)로 파일을 생성해서 넣었더니 seonghokim.md 라는 파일이 있다고 터미널에 보여줌
(다만 파일이 추적이 되고 있지만 기록이 없는 파일 (untracked files))
Git add : 파일 수정 이력을 기록 준비
(예 : A사 태플릿 PC를 구매하기 위해 카드 결제를 준비하는 것)
.
(git 에서 수정한 파일의 이력을 남길 준비를 하는 명령어)
.
(1. 특정 파일에만 이력을 남기고 싶을때 : git add[파일이름])
(2. 변경된 파일의 전체 이력을 남기고 싶을때 : git add .)
.
예제실습)
(1) 한줄의 commit 메세지 작성 준비가 끝났을 경우
(요약 : md 파일에 commit 메세지를 작성해서 기록할 준비가 완료됐다는 뜻)
Git commit : 수정한 프로젝트의 내용 이력을 실제로 메세지로 기록
(수정한 파일의 이력을 남기는 명령어)
.
(1. 한줄로 커밋 메세지를 남기고 싶을때 : git commit-m "메세지")
(2. 여러줄의 커밋 메세지를 남기고 싶을때 : git commit)
.
예제실습)
(1) 한줄안에서만 메세지를 작성할 경우
(2) 여러줄에서 commit 메세지 작성할 경우
Git log : commit의 이력을 확인
(남겨진 이력들을 확인할때 사용하는 명령어 : git log)
.
**예제실습)
(1) 처음에 작성한 한줄 commit 메세지 이력을 확인하고자 할경우
( 요약 : git log로 md 파일에 commit한 메세지 "자기소개 파일 생성" 가 잘 적용되었다고 나옴)
브랜치와 관련된 Git Flow 에 대한 자세한 내용을 확인하려면 여기를 클릭해주세요
👍 Git & Github 용어요약
👍 Git 명령어 요약