git init
- 현재 디렉토리를 Git 로컬 저장소로 초기화
- .git 폴더가 생성되며 Git이 이 폴더를 통해 버전 관리 시작. (3인칭 게임에서 스페이스바 같은 기능?)
git status
- 작업 디렉토리와 스테이징 영역의 상태 확인
- 어떤 파일이 변경되었고(add 필요 여부 등), 어떤 파일이 커밋준비가 되었는지 보여준다.
$ git status
On branch main //현재 작업 중인 브랜치는 main이다
Changes not staged for commit: // 변경은 있으나 add 상태에 올리지 않았다
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md // 수정된 파일 명
no changes added to commit (use "git add" and/or "git commit -a")
// 현재 커밋할 수 있는 변경 사항이 없다. 즉, 수정만 했고 커밋 준비를 안 했음을 보여줌
git add 파일명
- 특정 파일을 스테이징 영역에 추가, 다음 git commit에 포함될 준비를 한다.
- 전체 파일을 추가하려면 git add . 사용
git rm --cached 폴더명/파일명
- 스테이징에 올려놓은 파일 다시 내려놓기
git reset
- 위에 내용 모든 파일 한번에 하기
git config --global user.name "~~"
git config --global user.email "~~"
-전역으로 사용자 이름/이메일 설정.
-커밋 작성시 누가 했는지 기록에 남으며 이메일은 github 계정 연결 시 필요
git config --global -l or --list
- 현재 전역 설정된 git 환경 변수 확인하기
git commit
- 스테이징 영역에 있는 변경 사항을 로컬 저장소로 커밋
- 기본 텍스트 편집기가 열려 커밋 메시지 입력 가능 :wq로 저장 및 종료 가능
git commit -m "메시지"
- 메시지를 인라인으로 작성 가능
git commit --amend -m "메시지"
- 직전 커밋 수정 명령어
git log
- 커밋 내역확인 (최신순)
git diff
-두 커밋 간의 차이를 알 수 있는 명령어
git remote add origin https://github.com/사용자명/리포지토리
- 로컬 저장소와 원격 저장소(github)를 연결
- origin 이라는 이름으로 해당 URL 등록
git branch -M main
- 현재 브랜치 이름을 main으로 변경
branch란? 동시에 다양한 작업을 할 수 있게 해주는 기능, 각자 독립적인 저장소에서 자유롭게 코딩 가능
나중에 merge 할 때에도 언제, 누가, 어떻게 변경했는지 알 수 있다.
git push -u origin main
-로컬의 main 브랜치를 원격 저장소(origin)의 main 브랜치에 push
- -u 옵션은 upstream 설정으로, 이후 git push만 입력해도 자동으로 origin main에 push된다