크고 작은 모든 프로젝트에 빠른 속도와 효율을 위해 설계된 무료 오픈 소스 버전 관리 시스템
Working Directory : 우리가 직접 작업하고 있는 프로젝트의 디렉토리
Staging Area(Index) : 커밋을 하기 위해 add 명령어를 통해 추가된 파일들이 모여있는 중간 공간
Repository(Head) : commit 명령어를 통해 Staging Area에 있는 파일들이 하나의 버전이 되어 모여있는 저장소
Working Directory 에서 파일 생성, 작업, 수정
→ Staging Area 에 변경, 수정, 새로운 내용 등록
→ Repository에 하나의 버전으로 등록
git config --global user.name {유저 이름}
: 사용자 이름 설정
git config --global user.email {이메일 주소}
: 사용자 이메일 설정
git config --global core.editor "code --wait"
: git의 기본 에디터를 VScode로 설정 및 실행되었을 경우 터미널로 다른 작업 할 수 없게 설정
git config --global core.autocrlf input (윈도우는 true)
: 공백문자 처리 (윈도우와 맥, 여러 OS들의 충돌 방지)
git config --global init.defaultBranch main
: 기본으로 지정되는 브랜치의 이름을 main으로 지정 (인종차별문제 예방)
git config --list
: git 설정 리스트 보기.
Untracked(Working Directory)
Unmodified / Modified(Working Directory)
Staged(Staging Area)
git init
: 현재 폴더 내 파일들을 git으로 관리하겠다 선언. 명령어 입력 시 프로젝트 내 모든 파일, 새로 생성하는 파일이 Untracked 상태로 지정.
git add <파일 이름>
: 새로 만들거나 변경된 파일을 staging area로 이동
git commit -m "설명"
: staging area의 파일들을 repository로 이동
git log (--oneline)
: 커밋한 기록들을 출력 (--oneline는 한줄에 간략한 정보들로 출력)
git restore --staged <파일 이름>
: add한 파일 되돌리기 (commit한 이력이 있는 경우)
git rm --cached <파일 이름>
: add한 파일 되돌리기 (commit한 이력이 없는 경우)
git checkout <해쉬 값>
: 원하는 버전으로 브랜치 생성 후 이동
git status
: 현재 파일들의 변경, add 등의 상태 확인
Git 까지는 내 로컬 저장소, 즉, 내 컴퓨터에서만 저장하고, 버전관리를 하는 것이고,
Github는 그것들을 온라인 상에서 관리하는 원격저장소이다.
git remote add origin https://github.com/~~
: 원격 저장소로 활용할 github 저장소 주소 지정
git push origin (main or branch)
: github에 커밋한 파일들 푸쉬하여 저장.
VScode 좌측 하단에 프로필모양 버튼 클릭 후 "Turn on Edit Sessions..."을 선택 후 Github를 선택하고 로그인 하여 연동 가능.
위의 Initialize Repository를 통해 git init과 똑같은 명령을 실행할 수 있다.
이후에 파일들을 위 사진에 나와있는 버튼을 통해서 add, discard 등의 명령을 실행할 수 있다.
이후에 커밋한 파일들을 상단 input에 메세지를 적은 후 하단의 commit 버튼을 누르면 Github 설정 후 커밋, 푸시가 된다.
위와같이 VScode와 연동을 하면, GUI를 통해서 Git, Github 버전 관리를 할 수 있다.