새 폴더(작업 폴더)를 만들고 Shift + 우클릭, '여기에 PowerShell창 열기' 선택
git --version
입력으로 버전이 나오면 설치 성공
PowerShell 실행
git config --global user.email "이름@gmail.com"
git config --global user.name "이름"
차례로 입력
앞으로 모든 Git 명령어는 Terminal에서 실행
git init
입력으로 해당 폴더에서 Git 사용가능
임시로 main.html파일 생성 및 저장
git add main.html [파일]
git commit -m 'start' [메모 (버전 기록으로 사용하기도 한다)]
차례로 입력하여 Git에 파일 백업
사용되는 영역
[작업폴더 / Staging area / Repository ]
작업폴더 : 에디터에서 오픈한 폴더, 실제 파일이 존재
Staging area : 작업폴더에서 Git이 선택한 파일이 이동되는 구역
Repository : Git의 저장공간, 저장소로 번역된다.
add 명령어가 작업폴더 -> Staging area의 역할을 수행하며
commit 명령어가 Staging area -> Repository의 역할을 수행한다.
add의 과정을 Staging이라 칭한다.
git add 파일1 파일2 파일3..
의 형태를 가지며
폴더 내의 모든 파일을 Staging 하는 경우
git add .
의 형태를 가진다.
git status
입력으로 현재 Staging된 파일, 수정된 파일 등을 확인할 수 있다.
git log --all --oneline
입력으로 가능하다.
commit은 save마냥 몇초 단위로 하는것이 아니라 기능구현을 완료할때 마다 버전기록용으로 쓰는 것이 좋다.
요즘은 git commit 하는게 뻘짓이다.
commit 전에 이전 commit과 파일 차이점을 확인하는 것은 좋은 습관이다.
git diff
입력으로 가능하다.
j, k키로 가능하다.
q는 diff 종료
diff는 가독성이 떨어지고 인식 자체도 미숙하기에 쓰레기 같은 기능이다.
git difftool
입력으로 가능하며, 이후 파일 오픈에서 'y'를 입력하여 열어야 한다.
Vim 에디터를 사용하며, h, j, k ,l키가 방향키의 역할을 한다.
:q, :qa는 difftool 종료
git difftool [commit ID]
입력으로 특정 시점의 commit과 비교가 가능한데, commit ID는 commit 내역 조회를 할 때
git log --all --oneline
입력시 나오는 노란색 값이다.
git difftool [commit ID1] [commit ID2]
입력으로 특정 시점의 commit끼리 비교가 가능하다.
difftool도 Vim에디터를 쓰고 터미널의 한계가 있어서 약간 쓰레기다.
Extension 탭에 Git을 검색해서 나오는거 아무거나 쓰면 편리한데,
Git Graph의 경우 git log를 입력할 필요 없이 편하게 목록을 보여주고
수정사항도 GUI로 접근해서 볼 수 있다.
새 코드를 작성할 때, 원본 파일을 복사하여 작성하는 것이 안정적이다.
branch 기능이 해당 역할을 수행한다.
git branch [이름]
입력으로 최근 commit의 복제본을 만들 수 있다.
git switch [이름]
입력으로 해당 branch로 이동할 수 있다.
git switch main
입력으로 main commit의 파일 상태로 돌아갈 수 있다.
git merge [이름]
입력으로 현재 branch를 기준, 특정 branch의 파일(추가, 수정)을 합친다.
git log --all --oneline --graph
입력으로 main branch를 기준, 모든 branch의 내역을 조회한다.
//
git config --global push.default current