💡수업 목표💡
- 나 혼자 사용할 수 있는 Git 프로젝트를 만들어 본다 - commit, pull, push
- 프로그래밍을 배울 때 마음가짐을 탑재한다.
Git이란?
git은 프로그램 등의 소스 코드 관리를 위한 분산 버전관리 시스템이다.
버전관리시스템 (VCS, Version control system)
버전관리시스템은 파일 변화를 시간에 따라 기록하여 과거 특정 시점의 버전을 다시 불러올 수 있는 시스템이다.
기존에는 이전 파일내용을 알기 위해서는 ctrl+z 혹은 파일명으로 버전을 나눠서 저장했는데 git을 사용하면 그럴 필요없이 파일 하나로 버전을 관리 할수 있다.
git을 사용하면 언제(When), 누가(Who), 어디서 (Where), 무엇을(What), 어떻게(How), 왜(Why) 변경한 히스토리를 한번에 기록/관리가 가능하다.
누가, 언제, 어떤 부분을 수정했는지를 한 눈에 파악이 가능하기 때문에 프로젝트를 나누어서 작업하고 하나로 합치는 것이 편하다.
Git 을 사용하면 같은 파일명의 내용이 어떤 부분이 다른지를 자동으로 비교하고, 어떤 것을 반영할지 선택이 가능하다.
Git은 기본적으로 코드(Python, HTML, JavaScript, Java,...), text 파일, markdown파일(text 파일의 일종), CSV 파일에 대해서는 라인단위로 체크가 된다. 이미지 파일, Word 파일, PDF 파일, 엑셀 파일도 별도 설정을 해주면 가능하지만 기본적으로는 파일 크기 정도만 체크가 된다.
Git의 흐름
로컬 저장소에서 Git의 시작
프로젝트에 깃 저장소 생성하기 - init
$ git init
git init을 하면 프로젝트가 Git을 사용할 준비가 완료되었다. command + shift + . 을 입력하면 숨김폴더를 볼수 있는데 git 설정파일인 .git폴더가 생겨있는것을 확인할 수 있다. 변경이력은 모두 .git폴더에 저장되므로 최대한 건들지 않는게 좋다.
Git 현재 상태 확인하기 - Status
- commit 된 상태 표시
- Staged 상태면 초록색으로 표기 (add)
- Staged 상태가 아니면 빨간색으로 표시
$ git status
git에서 파일을 버전관리하기 위해서는 해당 파일을 추적Track 해야한다.
git status를 통해서 tracked file / Untracked file 상태를 확인할 수 있다.
Tracked(관리대상이 된 파일, 추적되고 있는 상태)
- Unmodified : 파일 내용 수정이 안된 상태
- Modified : 파일 내용이 수정된 상태
- Staged : 커밋으로 Git 저장소에 기록도리 준비가 된 상태
Untracked(관리대상이 아닌, 즉 추적이 안된 상태)
새로 생성된 파일이거나 이전에 추적을 하지 않은 파일로 한번도 깃에서 버전관리하지 않은 상태
Commit(커밋) : 파일을 Git 저장소에 기록하는 것, 어떤 작업인지에 대한 메시지를 기록
커밋에 들어간 파일들은 앞으로 tracked file로 추적,관리 대상이 된다.
Git 임시 저장 상태(Staged)로 변환하기 - add
git은 수정한 파일을중에서 변경이력을 반영할지 안할질는 파일 단위로 선택 할수 있다. add를 통해서 수정한 파일(modified) 중에서 변경이력을 저장 할 파일 고르고 저장 대기 상태(Staged) 만든다.
# 전체 파일 add
$ git add .
$ git add -a
$ git add --all
# 특정 파일 add
$ git add [특정파일 경로]
Git Staged 상태에서 취소하기 - reset
# 전체 파일 해제하기
$ git reset
# 특정 파일 해제하기
$ git reset [특정 파일 경로]
Git 저장하기 - Commit
commit 은 현재 프로젝트 상태를 📸 찰칵 사진찍어서 저장하는 것으로 최종적으로 변경된 파일들로 변경 이력을 저장하는것이다.
Staged 상태(add)인 파일만 commit 가능하며 프로젝트 상태를 포함해서 누가, 언제, commit 메시지 정보를 포함하고 있다.
# 간단한 commit 메세지 작성(header만)
$ git commit -m " 커밋 메세지 "
# 자세한 commit 메세지 작성(header, body)
$ git commit
Git 히스토리 확인 - log
현재 commit 까지 Git 에 기록된 상태 즉, commit 한 내역을 한 눈에 볼 수 있습니다. 이것을 commit history(커밋 히스토리) 라고 한다.
최신 순서대로 리스트해서 보여준다.
# 커밋 히스토리
$ git log
# 커밋 히스토리 한줄 표시
$ git log --oneline
Git log를 보면 419401f 혹은 419401~~~~ 길게 적혀있는 문자열을 볼 수 있다. 이것은 각각의 커밋을 구분하기 위해서 git에서 붙여주는 고유 번호 commit id(커밋 아이디)이다. 커밋 아이디는 너무 길기 때문에 앞의 7자리로 구분이 가능하다.
'스파르타코딩클럽 > Git' 카테고리의 다른 글
협업을 위한 GIT 개발일지 - 2주차 (2) Git Branch, Merge, conflict (0) | 2022.09.15 |
---|---|
협업을 위한 GIT 개발일지 - 2주차 (1) GitHub issue 사용하기 (0) | 2022.09.15 |
협업을 위한 GIT 개발일지 - 1주차 (2) GitHub 시작하기 (0) | 2022.09.15 |
MacOS에서 Git 설치 및 셋팅하기 (0) | 2022.09.15 |
윈도우10에 Git for Window 설치하기 (0) | 2022.09.15 |