git tip
git diff
색깔 넣어서 출력하기
색깔 넣어서 출력하기
dit diff --color
git diff --color-words
아래처럼 alias로 설정해서 사용한다.
alias gitd='git diff --color'
또는 config 설정
git config --global color.diff auto
git config --global color.diff always
git log
log를 한 줄로 간단하게 보기(title만 보여줌)
git log --pretty=oneline
commit history를 graphical하게 보기
git log --graph
위 두 옵션을 함께 사용하면 log 확인을 한눈에 할 수 있다.
git log --pretty=oneline --graph
이것도 마찬가지로 alias를 만들어서 사용한다.
git stash
[시나리오]
branch에서 새로운 기능을 개발 중인데 긴급한 수정사항이 생겼을 경우.
방법 1. 현재까지 작업한 파일들을 어딘가에 백업해두고 branch를 롤백한다. 그리고 긴급한 수정 사항을 처리한 후 백업해둔 파일들을 다시 가져와서 개발을 진행.
방법 2. 다른 디렉토리에서 현재 배포 버전을 받은 뒤 수정 사항을 처리하고 배포.
이 외에도 몇몇 꼼수가 있겠지만 git stash를 사용하면 간단히 해결할 수 있다.
#현재 작업을 저장해두고 branch를 head로 돌린다.(git reset --hard)
git stash save
#저장되어 있는 stash들 보기
git stash list
#stash를 꺼내와서 적용
#stash들은 stack에 저장된다. 따라서 가장 최근에 save한 stash가 현재 branch에 적용된다.
git stash pop
#git stash pop 과 비슷한 명령어지만 stash list에서 삭제하지 않는다는 점이 다르다.
git stash apply
#필요 없는 stash를 삭제
git stash drop
#전체 stash list를 삭제
git stash clear
git stash pop 을 했는데 conflict가 발생한 경우.
stash list 에서는 그대로 남아 있으므로 수동으로 drop 을 해줘야 한다. 왜 list 에서 삭제하지 않고 남겨두는걸까 생각해보면 남겨두는게 맞다. 문제가 생겼을 때 문제를 처리하고 다시 git stash pop을 할 수 있다.
git rebase
-i (--interactive) 옵션을 사용하자.
git add
-p 옵션을 사용하면 commit을 나눠서 할 수 있다.
git commit
-C <commit> 이전 커밋 메시지를 그대로 사용한다.
-c <commit> -C 옵션과 비슷하지만 커밋 메시지를 수정할 수 있다.
--amend
바로 이전 commit에 현재 변경사항을 합친다. 방금 commit 했는데 뭔가 빠뜨렸을 경우 유용하다. commit history를 수정하는 명령이므로 주의해서 사용해야 한다.
git rm
--cached <filename> git에서는 삭제하지만 로컬파일시스템에서는 삭제하지 않음
git mv
--force 파일 이름 변경시 대소문자 구분이 안될때가 있는데(맥에서?) 그 때 force 옵션을 주면 된다.
댓글
댓글 쓰기