2019.08.13 Git 튜토리얼 보며 따라하기 - gitignore, git log
1. gitignore
.gitignore 파일에 입력하는 패턴은 아래 규칙을 따른다.
1) #은 주석으로 인식한다.
2) 표준 Glob 패턴을 사용한다. 이는 프로젝트 전체에 적용된다.
3) 슬래시(/)로 시작하면 하위 디렉토리에 적용되지(Recursivity) 않는다.
4) 디렉토리는 슬래시(/)를 끝에 사용하는 것으로 표현한다.
5) 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다.
Example)
# 확장자가 .a인 파일 무시
*.a
# 윗 라인에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않음
!lib.a
# 현재 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디렉토리에 있는 파일은 무시하지 않음
/TODO
# build/ 디렉토리에 있는 모든 파일은 무시
build/
# doc/notes.txt 파일은 무시하고 doc/server/arch.txt 파일은 무시하지 않음
doc/*.txt
# doc 디렉토리 아래의 모든 .pdf 파일을 무시
doc/**/*.pdf
2. Git Log
git log -p -2 : 최근 2개 commit의 diff 한 결과를 보여준다. 히스토리를 보는 동시에 diff까지 보고싶을 때 유용하다.
git log --stat : commit 의 status를 보여준다.
git log --pretty=[oneline, short, full, fuller] : 로그를 조금씩 다른 형식으로 가감해서 보여준다.
git log --pretty=format: [various options] : 로그를 원하는 포맷으로 만들 수 있다. 포맷의 알리아스는 여기를 참고.
git log --since=[2.weeks, 1.day]
'BEST': git log -S code : 이 옵션은 코드에서 추가되거나 제거된 내용 중에 특정 텍스트가 포함되어 있는지를 검색한다. 예를 들어 어떤 함수가 추가되거나 제거된 커밋만을 찾아보려면 아래와 같은 명령을 사용한다.
.gitignore 파일에 입력하는 패턴은 아래 규칙을 따른다.
1) #은 주석으로 인식한다.
2) 표준 Glob 패턴을 사용한다. 이는 프로젝트 전체에 적용된다.
3) 슬래시(/)로 시작하면 하위 디렉토리에 적용되지(Recursivity) 않는다.
4) 디렉토리는 슬래시(/)를 끝에 사용하는 것으로 표현한다.
5) 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다.
Example)
# 확장자가 .a인 파일 무시
*.a
# 윗 라인에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않음
!lib.a
# 현재 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디렉토리에 있는 파일은 무시하지 않음
/TODO
# build/ 디렉토리에 있는 모든 파일은 무시
build/
# doc/notes.txt 파일은 무시하고 doc/server/arch.txt 파일은 무시하지 않음
doc/*.txt
# doc 디렉토리 아래의 모든 .pdf 파일을 무시
doc/**/*.pdf
2. Git Log
git log -p -2 : 최근 2개 commit의 diff 한 결과를 보여준다. 히스토리를 보는 동시에 diff까지 보고싶을 때 유용하다.
git log --stat : commit 의 status를 보여준다.
git log --pretty=[oneline, short, full, fuller] : 로그를 조금씩 다른 형식으로 가감해서 보여준다.
git log --pretty=format: [various options] : 로그를 원하는 포맷으로 만들 수 있다. 포맷의 알리아스는 여기를 참고.
예로, 이렇게 쓰면 좋다.author와 committer는 다를 수 있다. (패치를 만든 사람과 author, 이 패치를 받아서 적용하고 커밋한 사람(committer)이 다를 수 있기 때문)
git log --pretty=format:"%h - %cn : %ad" --graph (h = hash, cn = committer name, ad = author date)
git log --since=[2.weeks, 1.day]
'BEST': git log -S code : 이 옵션은 코드에서 추가되거나 제거된 내용 중에 특정 텍스트가 포함되어 있는지를 검색한다. 예를 들어 어떤 함수가 추가되거나 제거된 커밋만을 찾아보려면 아래와 같은 명령을 사용한다.
git log -S nextPlayer : nextPlayer 코드가 바뀌거나 추가된 commit 히스토리만을 보여줌.
이걸로 commit hash를 찾고 git log -p commit hash < 이런식으로 사용하면 유용해보인다.
댓글
댓글 쓰기