✅ Git은 분산 버전관리 시스템으로 소프트웨어 개발 프로젝트를 위한 소스코드 관리 서비스이다.
윈도우 환경에서 다운로드 시
https://git-scm.com/download/win 링크를 통해 들어가 다운로드 한다.
이때 git bash 꼭 설치한다.
이후 기본설정 그대로 설치를 진행한다. 이후 VsCode와
✅ Git bash를 실행하여 아래의 명령어 실행
git config --global user.name "본인 이름"
git config --global user.email "본인 이메일"
✅ 설정이 잘 되었는지 확인하려면 아래의 명령어를 실행
git config --global user.name
git config --global user.email
✅ banch란?
소프트웨어 개발은 현재 출시하고 있는 버전의 유지 보수를 하면서 새로운 기능 추가 및 버그 수정을 할 수 있다. 이러한 병렬로 수행되는 여러 버전 관리를 위해 Github에는 branch 기능이 있다.
✅ git은 기본 브렌치명으로 master slave로 설정되어있다. main으로 변경하기 위해 아래의 명령어를 실행
git config --global init.defaultBranch main
✅ VS Code에서 관리할 폴더를 열어준 후 터미널에서 아래의 명령어를 실행한다.
✅ 그렇다면 아래의 이미지처럼 해당 파일에 숨겨진 .git 파일이 생성된걸 확인할 수 있다.
git init
✅ 그 후 해당 폴더에서 작성한 파일을 저장하여 터미널에 변경사항을 확인 할 수 있는 아래의 명령어를 실행한다.
✅ 그렇다면 새로 저장한 파일들이 빨간 이름으로 표시되는걸 확인 할 수 있다.
git status
✅ 새로운 파일을 생성하여 git status를 입력한다.(sub.html 파일을 생성하였다)
✅ git status 명령어를 실행하면 아래와 같이 sub.html이 나타난 것을 볼 수 있다.
✅ 폴더에 .gitignore 파일을 생성한 후 숨기고 싶은 파일을 적어 저장한다.
✅ 다시 git status를 실행하면 아래와 같이 sub.html은 사라지고 .gitignore이 생성된걸 확인할 수 있다.
✅ 다양한 .gitignore 형식
- file.c : 모든 file.c
- /file.c : 최상위 폴더의 file.c
- *.c : 모든 .c 확장자 파일
- !not_ignore_this.c : .c 확장자지만 무시하지 않을 파일
- logs : logs란 이름의 파일 또는 폴더와 그 내용들
- logs/ : logs란 이름의 폴더와 그 내용들
- logs/debug.log : logs 폴더 바로 안의 debus.log와 .c 파일들
- logs/**/debus.log : logs 폴더 바로 안, 또는 그 안의 다른 폴더들 안의 debug.log
✅ commit이란?
파일을 추가하거나 변경 내용을 저장소에 저장하는 작업이다.
즉, commit은 버전이라고 생각하면된다. 즉 NO commits yet 이면 아직 버전이 없다고 생각하면 된다. Untracked files은 아직 git이 관리한적 없는 파일을 뜻한다.
✅ git add "파일명" : "파일명"을 아래의 이미지와 같이 담을 수 있다. 또한 "파일명"에 ' . '(점) 을 입력 한다면 모든 파일이 담긴다.
git add main.html
git status
아래의 명령어를 실행하면 다음과 같은 화면으로 넘어간다. (Vi 입력 모드로 진입)
git add .
git commit
✅ vi의 간단한 명령어 모음
i - 입력 시작
esc - 입력 종료
:q - 저장 없이 종료
:q! - 저장 없이 강제 종료
:wq - 저장 후 종료
k - 위로 스크롤
j - 아래로 스크롤
✅ i 를 입력하여 입력모드로 전환한 후 "메시지"(FIRST COMMIT)를 작성한다.
그 후 esc를 입력하여 :wq 를 입력하면 commit된것을 확인할 수 있다.
✅ git log를 입력하여 내용을 확인해본다면 commit 일련코드 와 FIRST COMMIT 문구를 확인할 수 있다.
아래의 명령어를 사용한다면 위와 같은 결과를 얻을 수 있다.
git commit -m "메시지"
main.html을 삭제, style.css를 변경, sec.html을 생성해준 후 git status를 실행시키면 아래와 같은 결과를 얻을 수 있다.
git add .
git commit -m "Second Commit"
git log
✅ 위의 명령어를 실행하여 아래의 결과를 얻을 수 있다.
❗tip - add와 commit을 한번에 하고싶다면 아래의 명령어를 수행하면 된다.
git commit -am "문구"
git log
✅ 위의 명령어로 커밋 내역을 확인한 후 되돌아가 시점의 커밋 해시를 복사하여 빠져나온다.
git reset --hard (돌아갈 커밋 해시)
✅ 위의 명령어를 입력해준다면 원하는 시점으로 돌아간 뒤 이후 내역들이 삭제된 것을 볼 수 있다.
git revert (되돌릴 커밋 해시)
✅ 위의 명령어를 수행할 경우 바로 commit이 수행된다. commit을 하지않고 revert를 하고싶을 경우 아래의 명령어를 입력하면 된다.
git revert --no--commit(되돌릴 커밋 해시)