Skip to content

Instantly share code, notes, and snippets.

@qvil
Last active August 8, 2017 01:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qvil/89be0b79e63da6bc7f7f5069268ef1a6 to your computer and use it in GitHub Desktop.
Save qvil/89be0b79e63da6bc7f7f5069268ef1a6 to your computer and use it in GitHub Desktop.

1. Command

1.1. 브랜치에서 특정파일 patch

특정 branch에서 특정 파일 혹은 폴더만 Update하고 싶을 때

$ git checkout --patch {bracnh} {file or folder}

1.2. 로컬 브랜치 삭제

$ git branch -d {branch_name} # merge 후 쓸모없는 브랜치만 삭제됨
$ git branch -D {branch_name} # 강제로 삭제 가능

1.3.1 원격 브랜치 삭제

checkout 안하고 해도 됨.

$ git push --delete {remote} {branch}

원격 브랜치를 로컬로 checkout한 후 원격브랜치에서 체크아웃한 로컬브랜치를 아래 명령어로 삭제하면 된다.

$ git co {branch_name} origin/{branch_name}
$ git push origin --delete {branch_name}

1.3.2 원격 브랜치 삭제 확인

git remote prune origin

1.4. 리모트 저장소 추가

원하는 디렉토리에서 git init 후

$ git remote add origin {remote_name}
$ git fetch # 리모트 저장소의 파일, 브랜치 등을 가져온다.

1.5. tag

tag 추가 후 git push {remote} {tag}

혹은

tag전부 push됨.

git push --tag

1.5.1. Annotated tag

$ git tag -a v1.4 -m 'my version 1.4'

1.5.2. Lightweight tag

$ git tag v1.4-lw

1.6. 여러줄로 Commit

  1. VSCode같은 에디터 이용하거나
  2. 명령줄에서 "를 시작하고 닫지 않고 엔터입력
$ git commit -m "
> Commit
> OK
> "

1.7. gh-pages 브랜치 생성

$ git checkout --orphan gh-pages

1.8. Log

6.4 Git 도구 - 히스토리 단장하기

1.8.1. --grep 특정 단어 검색

-i 대소문자 구분 안 함.

git log --oneline --grep Text -i

1.8.2. --author 작성자 검색

git log --author=tshyeon --grep=state

참고

1.8.3. reflog

git reset --hard로 지운거 아니면 reflog로 볼 수 있다.(복구가능)

1.11. Git revision 복구참고

  • 파일 라인별 변경사항 보고 싶을 때 -p
$ git log -p {filename}
  • 특정키워드 변경 확인
$ git log -p {filename} | grep '2011070102\|commit \|Author:\|Date:'
  • 특정 리비전 확인
$ git show revision_number
  • 특정 인물 로그
$ git log --author=username
  • 단어기준 diff
$ git log -p --word-diff {filename}

1.9. Diff

  • 브랜치 사이에 특정파일(폴더)만 diff
$ git diff {branch1} {branch2} -- {filename or directory}

1.10. 마지막 커밋 수정

자동으로 텍스트 편집기 실행됨.

$ git commit --amend

1.11. Git revision 복구

$ git reset --hard {리비전번호} // history를 없앤다.
$ git reset --soft {리비전번호} // history를 남긴다.

1.12. Git으로 버그 찾기

참고 공식사이트 : Git으로 버그 찾기

$ git blame {filename}
$ git blame -L 10,20 {filename} // 10번 줄에서 20번 줄까지 탐색
$ git blame -C {filename} // 리팩토링된 파일 추적 가능

1.13. Remote 저장소 상태 확인

git remote show origin`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment