git init (initialize) : 프로젝트 시작 전 딱 한 번만 입력하면 된다. 꼭 정확한 프로젝트 폴더(경로)에서 할 것!ls -a 로 확인해보면 '.git' 이라는 폴더가 생성된 것을 확인할 수 있다
git status : 저장되기 전 상황을 확인하는 명령어
1) git add 파일명
2) git commit -m "메세지 작성" : git add는 저장할 파일을 지정하는 것이고, git commit은 지정한 파일을 저장하는 명령어
git add를 한 뒤에 다시 git status로 확인해보면 붉은색이었던 파일이 초록색으로 변한 것을 확인할 수 있다

저장 할 파일을 지정한 뒤에 commit을 해주는데 이 때 메세지는 최대한 자세하게 적어놓는 것이 좋다

여러 수정사항이 있는 여러 파일을 한번에 add 할 수도 있다


그 다음 commit 해주면 이런식으로 나온다

commit 모두 완료한 뒤에 status 확인해보면 이런 식으로 뜬다

➡️ 항상 명령어 입력하기 전에 pwd & git status 를 통해 현재 디렉토리와 현재 상태를 확인해주는 습관을 갖자
git add . : 현재 디렉토리에 있는 모든 파일을 지정하여 stage에 올릴 때 쓰는 명령어
여러 파일에 많은 수정사항이 있을 때 한번에 commit하기 편리하다

이럴 때 git add . 해주면

만약 stage에 올린 내용을 unstage하고 싶을 때

소스 제어 탭에서 한번에 모두 취소하거나 하나씩 취소할 수 있다
cd C(Tab버튼) : 현재 디렉터리로 이동할 수 있는 명령어
git log : 저장 내역을 확인하는 명령어

git reset : 과거로 돌아가기 명령어

commit 뒤의 commit ID를 복붙해서 돌아갈 수 있다

git reflog : 여태까지의 커밋과 리셋을 포함한 모든 기록을 볼 수 있는 명령어

마찬가지로 reset 뒤에 커밋 아이디를 복붙해서 돌아갈 수 있다

reflog 한 뒤에 다시 git log 확인해보면 다시 돌아간 것을 볼 수 있다

git branch <브랜치명> : 브랜치 생성하는 명령어
git checkout <브랜치명> : 브랜치 이동하는 명령어
github에 new repository 만들기
repository name에 프로젝트 이름 쓰기

내 코드를 github repository로 업로드하기

붉은 박스 부분을 터미널에 복붙하기
첫 업로드시 3개의 명령어의 의미 :
1) git remote add origin <github주소> ➡️ github 주소를 origin 이라는 이름으로 저장 ➡️ git push origin 브랜치명 ➡️ 편하다!
2) git branch -M main ➡️ 기본 브랜치명 master를 main으로 바꾼다!
3) git push -u origin main ➡️ git push origin main 귀찮아! git push 이 명령어만 입력해도 git push origin main 해줘!
git clone : 코드 복사해오는 명령어
git remote -v : 현재 등록되어있는 리모트 레포지토리를 확인할 수 있다
git remote add <origin 같은 github 주소 대신 넣을 이름> <github 주소> : 리모트 레포지토리 추가 등록하는 명령어
아래와 같이 터미널에 아무것도 입력이 안되는 vim 에디터가 떴을 때 esc ➡️ : ➡️ wq ➡️ enter

git init : 팀원 한 명이 초기 프로젝트 생성
git add <파일명> 또는 git add . : 파일 저장할 준비 또는 현대 디렉토리의 모든 파일 저장할 준비
git commit -m "메시지" : 저장
github repository 생성
git remote add origin <레포지토리 주소> : 주소를 origin 이라는 이름으로 저장
git branch -M main : 브랜치명을 main 으로 변경
git push -u origin main : git push 만 입력해도 git push origin main 할 수 있도록 저장
github repository 주소 복사 후 팀원들에게 전달
git clone <레포지토리 주소> : 파일 복사해오기
git switch -c <브랜치명> : 새로운 브랜치 생성하고 바로 그 브랜치로 체크아웃
git branch : 브랜치 목록 확인
// 옛날 방식
// 10. `git branch <브랜치명>` : 브랜치 생성
// 11. `git checkout <브랜치명>` : 브랜치 이동
깃허브에 Pull Request 열어주기 : base 브랜치는 기존의 브랜치, compare 브랜치는 작업한 브랜치
merge 과정에서 일어나는 conflict 해결 후 merge 마무리 → Pull Request 닫아주기
< 추가 명령어 >
git reset --soft HEAD~1 : staging은 남고 커밋만 롤백
git reset --mixed HEAD~1 : staging & 커밋 둘 다 롤백