1. git init : 현재 위치한 디렉터리 내에 .git을 생성한다.
- git init 디렉터리명 : 디렉터리를 생성하면서 .git을 만든다.
2. git status : 현재 파일 스테이징 상태를 확인한다.
3. git add : 스테이지에 올라가지 않은 파일들을 추가한다.
4. git commit : 스테이징된 파일들을 커밋한다.
- git commit -m "commit message" : 커밋하면서 커밋 메세지를 작성한다.
- git commit -am "commit message" : 스테이징과 커밋을 한꺼번에 처리한다.
- git commit --amend : 가장 최근 커밋 메시지를 수정한다.
5. git log : 커밋된 기록을 확인한다.
- git log --stat : 커밋 기록을 상세하게 확인한다.
- git log --oneline : 커밋 기록을 간단하게 한 줄씩 보여준다.
- git log --oneline --branches : 브랜치마다의 최신 커밋을 한 눈에 볼 수 있다.
- git log --oneline --branches --graph : 그래프 형식으로 볼 수 있다.
- git log 브랜치A..브랜치B : A는 없고 B에만 있는 커밋을 볼 수 있다.
6. git diff : 변경된 사항을 확인한다.
7. git restore : 스테이징을 취소한다.
- git restore --staged : 스테이징을 취소한다.
8. git reset HEAD^ : 가장 마지막에 한 커밋과 스테이징을 취소한다.
- git reset --soft HEAD^ : 커밋을 취소하고 파일을 스테이징 상태로 만든다.
- git reset --mixed HEAD^ : 커밋을 취소하고 스테이징을 취소한다.
- git reset 해시 : 해당 해시값의 커밋으로 되돌린다. (해시 = 되돌아갈 해시값)
9. git revert 해시 : 커밋 기록은 남겨두고 변경사항을 취소한다. (해시 = 취소할 해시값)
** reset과 revert의 차이점 : revert는 커밋 기록은 남지만, reset은 커밋 기록까지 삭제된다.
10. git branch : 현재 사용하는 브랜치와 존재하는 모든 브랜치의 리스트를 보여준다.
- git branch 브랜치명 : 브랜치를 생성한다.
- git branch -d 브랜치명 : 입력한 브랜치를 삭제한다. (현재 위치한 브랜치라면 다른 브랜치로 전환 후 삭제해야 한다.)
11. git switch 브랜치명 : 브랜치를 전환한다.
12. git merge 브랜치명 : 현재 위치한 브랜치에 입력한 브랜치를 병합한다.
13. git cherry-pick 해시 : 입력한 해시값의 커밋을 현재 위치한 브랜치에 병합한다.
14. git remote add origin 원격 저장소 경로 : 원격 저장소에 연결한다.
15. git remote -v : 원격 저장소에 연결이 되었는지 확인한다.
16. git push : 로컬 저장소에서 커밋된 파일을 원격 저장소에 올린다.
- git push -u 브랜치명 : 이 명령어를 사용한 이후에는 git push 만으로 간단하게 푸시할 수 있다.
17. git pull : 원격 저장소에 존재하는 파일을 로컬 저장소에 내려받는다.
-git pull origin 브랜치명
18. ssh-keygen : ssh 키를 생성한다. (RSA 알고리즘)
18-1. clip < ~/.ssh/id_rsa.pub : 생성된 공개 키 값을 복사한다.
18-2. 깃허브에 로그인 > settings > ssh and gpg keys > new ssh key > 복사한 공개 키 값 붙여넣기 > add ssh key > 끝
19. git clone : 원격 저장소를 복제한다.
- git clone 원격저장소주소 디렉터리명 : 해당 원격 저장소를 입력한 디렉터리에 복제한다.
20. git fetch : 원격 저장소의 브랜치 정보를 가져온다.
** git pull은 git fetch와 git merge origin 브랜치를 합친 것과 같은 기능을 한다.
21. git conifg user.name : 저장소에서 사용할 사용자 이름을 지정한다.
- git config user.email : 저장소에서 사용할 사용자의 메일 주소를 지정한다.
- git config --global : 모든 저장소에서 사용할 수 있도록 설정하는 옵션이다.