Git Command
Git Add 취소
- git reset HEAD [fileName]
- staged 되어 있는 파일을 unstaged 상태로 변경한다
- fileName 을 넣지 않으면 staged 되어 있는 모든 파일이 unstaged 상태로 변경된다
Git Alias
- git config --global alias.co checkout
- git checkout 명령어를 git co 형태로 사용할 수 있도록 설정
- git config --global alias.br branch
- git branch 명령어를 git br 형태로 사용할 수 있도록 설정
- git config --global alias.ci commit
- git commit 명령어를 git ci 형태로 사용할 수 있도록 설정
- git config --global alias.st status
- git status 명령어를 git st 형태로 사용할 수 있도록 설정
- git config --global alias.unstage 'reset HEAD --'
- git reset HEAD로 add 취소 명령어를 git unstage 명령어로 설정
- git config --global alias.last 'log -1 HEAD'
- 최근 커밋 하나의 로그만 출력하는 명령어를 git last로 설정
Git commit 메시지 변경
Git commit 취소
- git reset --soft HEAD^
- 마지막 commit을 취소하고 마지막 커밋된 파일들을 staged 상태로 변경(Add가 되어 있는 상태)
- git reset --mixed HEAD^
- 마지막 commit을 취소하고 마지막 커밋된 파일들을 unstaged 상태로 변경(Add 되어 있지 않은 상태)
- git reset HEAD^ 커맨드도 동일한 명령
- git reset HEAD~2
- git reset --hard HEAD^
- 마지막 commit을 취소하고 변경된 내역들을 모두 제거한다
- 매우 위험한 명령(주의), 작업 했던 내용이 모두 사라진다
Git reflog
- git reflog
- branch 와 HEAD가 지난 몇 달 동안에 가르켰던 커밋 목록을 확인
- rebase, merge 작업 시 유용
Git 특정 commit으로 되돌리기
- git reset HEAD@{number}
- git reset [commit id]
Git push remote
- git push origin branchName
- git push origin branchName -f
- 해당 브랜치를 origin 저장소에 강제 push
- 매우 위험
- git push origin +branchName 과 동일
Git clean
- git clean -f
- untracked 파일들을 제거한다
- default 값은 강제 삭제가 아니기 때문에 -f 옵션이 필요
- git clean -f
- git clean -f -d
- git clean -f -d -x
- untracked 파일, 디렉토리, 무시된 파일까지 제거
- git clean -n