Git은 프로젝트의 시간과 차원을 자유롭게 넘나들수 있도록 해줌
시간 - 프로젝트의 버전을 과거로 되돌리거나 특정 내역을 취소할
수 있다
차원 - 프로젝트의 여러 모드를 쉽게 전환하고 관리할 수 있다
깃을 설치할때 gitbash함께 설치하는데 윈도우에서 리눅스 명령어를 사용하게 해주는 터미널이다.
CLI방식은 gitbash나 터미널을 직접 열어서 명령어를 통해 git을 사용한다.
GUI방식은 sourcetree같은 프로그램을 사용해 시각적으로 git을 보기 위해 사용한다.
IDE(여기서는 VS Code 사용)에서 프로젝트 할 폴더를 열고 터미널에 git init을 치면
폴더 내부에 숨김파일로 .git파일이 생성된다
이 .git파일을 통해 프로젝트를 관리한다.
프로젝트 파일을 작성하고 저장 후
git status 명령어를 치면 git에게 폴더의 상황을 git의 관점으로 보여준다.
어떤 프로젝트를 할 때 굳이 git에 포함시키지 않아야 할 파일도 있을 수 있다.
이때 .gitignore파일을 생성하고 여기에 그런 파일내용을 포함하면 git에 의해 관리되지 않는다.
위에서 .gitignore생성 후 secrets.yaml 파일을 넣어주니
git status명령어 입력했을때 secrets.yaml 없는걸 확인
springboot와 같은 많은 프레임워크들이 .gitignore을 기본적으로 있다함
모든 file.c
file.c
최상위 폴더의 file.c
/file.c
모든 .c 확장자 파일
*.c
.c 확장자지만 무시하지 않을 파일
!not_ignore_this.c
logs란 이름의 파일 또는 폴더와 그 내용들
logs
logs란 이름의 폴더와 그 내용들
logs/
logs 폴더 바로 안의 debug.log와 .c 파일들
logs/debug.log
logs/*.c
logs 폴더 바로 안, 또는 그 안의 다른 폴더(들) 안의 debug.log
logs/**/debug.log
git add 명령어로 파일을 치면 타임캡슐(버전)에 프로젝트의 변경사항들을 담을 수 있다.
위에서 git add tigers.yaml을 했더니 tiger.yaml은 commit가능해졌음
위의 명령어로 모든 파일 담을 수 있다.
git commit 명령어로 타임캡슐을 묻어보자
git commit을 치면 Vi입력모드로 뜨지만
그냥 git commit -m "(커밋메세지)"
하면 커밋메세지와 함께 저장 후 빠져나온다.
git log 명령어로 커밋기록을 조회한다.
git log 종료는 q
git reset --hard "커밋해시" 명령어로 해당 커밋시점으로 reset 할 수 있다.
커밋 주소는 git log통해 확인 가능하다.
git reset --hard 명령어만 치면 마지막 커밋을 가리킨다.
git revert (되돌릴 커밋 해시) 명령어로 revert 할 수 있다.
vi로 열리기 때문에 :wq로 커밋 메시지 저장한다.