1. git 초기 설정
$ git init
$ git config --global user.name "[사용자명]"
$ git config --global user.email "[사용자이메일명]"
2. git 스테이징
$ git add [파일명.확장자명]
$ git status
$ git restore --staged 파일명
$ git reset HEAD
3. git 커밋
$ git commit -m "[메시지명]"
$ git commit -am "[메시지명]"
$ git reset HEAD^
$ git reset HEAD~n
$ git reset [커밋 해시]
$ git reset --soft [커밋ID]
$ git reset --mixed [커밋ID]
$ git reset --hard [커밋ID]
$ git revert [커밋 해시]
$ git add .
$ git commit --amend
4. git 이력 확인
$ git log
$ git shortlog
$ git log --oneline
$ git log -p
$ git log [filename]
$ git log -p [filename]
$ git log --stat
$ git log --graph
$ git show [커밋 id]
$ git diff
$ git diff --staged
$ git diff --color-words
$ git diff [브랜치이름]
$ git diff [이전커밋 id] [이후커밋 id]
git log 명령어 예시 | 설명 |
---|
git log | HEAD와 관련된 commit들이 자세하게 나옴 |
git log --oneline | 간단히 commit 해시와 제목만 보고 싶을 때 |
git log --oneline --graph --decorate | HEAD와 관련된 commit들을 조금 더 자세히 보고 싶을 때 |
git log --oneline --graph --all --decorate | 모든 branch들을 보고 싶을 때 사용하는 명령어 |
git log --oneline -n7 | 내 branch의 최신 commit을 7개만 보고 싶을 때 사용 |
5. 원격 저장소
$ git remote add origin [github 레포지 주소]
$ git remote --help
$ git remote
$ git remote -v
$ git remote show 이름
$ git remote rename 기존이름 변경할이름
$ git remote rm 이름
$ git push -u origin master
$ git push
$ git push origin master
$ git pull origin master
$ git clone [원격 저장소 주소]
$ git fetch
$ git diff test origin/test
$ git remote remove origin
6. 저장소 파일 삭제
$ git rm [filename]
$ git rm --cached [filename]
7. git branch
$ git branch
$ git branch [branch name]
$ git branch -d [branch name]
$ git switch [branch name]
$ git checkout [branch name]
$ git switch -c [branch name]
$ git checkout -b [branch name]
$ git merge [branch name]
8. git cherry-pick
$ git cherry-pick 76ae30ef 13af32cc
9. git stash
$ git stash
$ git stash list
$ git stash apply
$ git stash apply stash@{1}
$ git stash drop stash@{1}
$ git stash pop
10. git tag
light weight 태그
: 단순 커밋 태그용. 커밋을 바로 가리킴
annotated 태그
: 태그 메세지도 첨부할수 있어 자체 해시값을 가짐. ^{}이 커밋을 가리킴
$ git tag [태그이름]
$ git tag [태그이름] [커밋번호]
$ git tag -a [태그이름] [커밋번호]
$ git tag
$ git tag -l 'v1.*'
$ git show [태그이름]
$ git show-ref --tags
11. git blame
$ git blame <파일명>
$ git blame -s <파일명>
$ git show <커밋번호>
$ git blame -L <start,end> <파일명>