GitNotes.2-8.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.8: 파일 내에서 라인 수 기준으로 특정 범위에 해당하는 변경 로그 표시하기

$ git log -L 1,20:index.html commit 6a57fde739de66293231f6204cbd8b2feca3a869 Author: John Doe <john@doe.com> Date: Tue Mar 22 16:33:42 2016 -0500 commit message diff --git a/index.html b/index.html --- a/index.html +++ b/index.html @@ -1,17 +1,20 @@ <!DOCTYPE HTML> <html> - <head> - <meta charset="utf-8"> + +<head> + <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">

역주: git log 명령어에 시작라인,끝라인:파일이름 형식으로 -L 옵션을 주면 주어진 파일이름 내에서 시작라인끝라인 사이의 모든 변경 로그를 표시해준다

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-7.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.7: git log 내용 중 커밋 문자열 검색하기

문자열을 이용하여 git log 내용을 검색하려면 아래와 같이 입력한다:

git log [options] --grep "search_string"

예제:

git log --all --grep "removed file"

위 명령어는 모든 브랜치 내의 모든 로그 중에서 removed file 문자열을 검색한다.

Git 2.4 이후부터는, --invert-grep 옵션을 이용해서 특정 문자열을 포함하지 않는 검색도 수행할 수 있게 되었다.

예제:

git log --grep="add file" --invert-grep

위 명령어는 add file 이라는 문자열을 메시지에 포함하지 않는 모든 커밋들을 나열할 것이다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-6.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.6: 커밋 목록을 작성자별로 그룹화하여 나열하기

git shortlog 명령어는 git log 의 결과를 작성자별로 그룹화하여 요약된 결과를 보여준다.

파라미터 없이 실행된 경우, 커미터별로 현재까지 작성된 모든 커밋들이 시간순으로 화면에 출력된다.

$ git shortlog Committer 1 (<number_of_commits>): Commit Message 1 Commit Message 2 ... Committer 2 (<number_of_commits>): Commit Message 1 Commit Message 2 ...

각 커밋들에 대한 설명은 생략하고 커밋 수만 표시하길 원한다면, 요약 (summary) 옵션을 이용한다:

-s
--summary
$ git shortlog -s <number_of_commits> Committer 1 <number_of_commits> Committer 2

커미터의 이름 기준이 아닌 커미터별 커밋 수 기준으로 정렬되어 표시되기를 원한다면, 순서 매기기(numbered) 옵션을 이용한다:

-n
--numbered

커미터 정보에 이메일 주소를 같이 표시하려면, 이메일 옵션을 이용한다:

-e
--email

커밋 메시지외에 추가적인 정보를 표시하기 위한 맞춤 서식 (custom format) 옵션 역시 사용이 가능하다:

--format

git log 명령어의 --format 옵션에 사용되는 서식을 동일하게 사용할 수 있다.

서식 관련 추가 정보는 "로그에 색상입히기" 챕터를 참고하라.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-5.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.5: 로그 검색하기

git log -S"#define SAMPLES"

위 명령어는 특정 문자열이나 주어진 정규표현식에 의해 매치되는 문자열이 추가 (addition) 되거나 제거 (removal) 된 내역을 검색한다.
이 예제의 경우에는 #define SAMPLES 문자열이 추가되거나 제거된 내역을 검색한다. 예를 들어:

+#define SAMPLES 100000

혹은

-#define SAMPLES 100000

과 같은 로그가 검색될 것이다

git log -G"#define SAMPLES"

위 명령어는 특정 문자열이나 주어진 정규표현식에 의해 매치되는 문자열에 연관된 변경 내역이 포함된 라인을 검색한다.

-#define SAMPLES 100000 +#define SAMPLES 100000000

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-4.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.4: 로그 내용을 한줄씩만 표시하기

git log --oneline

위 명령어는 모든 커밋들에 대해 해시값의 축약 버전과 커밋 메시지만을 출력한다. 옵션 이름에서 유추할 수 있듯이, 한 줄마다 커밋 정보가 하나씩 표시된다.

예제 (Free Code Camp 저장소에서 발췌, 2-1 챕터의 예제와 동일한 코드 부분):

87ef97f Merge pull request #7724 from BKinahan/fix/where-art-thou eb8b729 Fix 'its' typo in Where Art Thou description e50ff0d Merge pull request #7718 from deathsythe47/fix/unnecessary-comma 2652d04 Remove unnecessary comma from CONTRIBUTING.md 6b01875 Merge pull request #7667 from zerkms/patch-1 766f088 Fixed assignment operator terminology d1e2468 Merge pull request #7690 from BKinahan/fix/unsubscribe-crash bed9de2 Merge pull request #7657 from Rafase282/fix/

마지막 n개에 대해서만 커밋 로그가 나타나게 하고 싶다면, 위 명령어에 n개에 해당하는 파라미터를 전달하기만 하면 된다. 예를 들어, 마지막 2개의 커밋 로그만 보고 싶다면 아래와 같이 입력한다.

git log -2 --oneline

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-3.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.3: 로그에 색상입히기

git log --graph --pretty=format:'%C(red)%h%Creset -%C(yellow)%d%Creset %s %C(green)(%cr) %C(yellow)<%an>%Creset'

format 옵션은 사용자가 자신이 원하는 형태의 출력 양식을 지정할 수 있도록 한다:

파라미터 설명
%C(색 이름) 이후 출력될 내용에 입힐 색깔
%h 혹은 %H 축약된 버전의 커밋 hash (%H 는 축약되지 않은 버전의 커밋 hash)
%Creset 이후 출력될 내용의 색깔을 터미널 기본 색상으로 초기화한다
%d ref (커밋을 가리키는 로컬 및 원격 브랜치 혹은 태그 등) 의 이름
%s 주제(subject) [커밋 메시지]
%cr 커밋 날짜 (현재로부터의 상대 시간)
%an 작성자 이름

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형
GitNotes.2-2.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.2: 로그를 더 예쁘게 출력하기

Git 에서 제공하는 로그를 더욱 보기 좋은, 그래프 형식의 구조로 표시하기 위해서 아래와 같은 명령어를 사용할 수 있다:

git log --decorate --oneline --graph sample output : * e0c1cea (HEAD -> maint, tag: v2.9.3, origin/maint) Git 2.9.3 * 9b601ea Merge branch 'jk/difftool-in-subdir' into maint |\ | * 32b8c58 difftool: use Git::* functions instead of passing around state | * 98f917e difftool: avoid $GIT_DIR and $GIT_WORK_TREE | * 9ec26e7 difftool: fix argument handling in subdirs * | f4fd627 Merge branch 'jk/reset-ident-time-per-commit' into maint ...

전체 명령어를 손으로 치기에는 꽤나 길기 때문에, 별칭(alias) 로 등록하여 사용할 수도 있다:

git config --global alias.lol "log --decorate --oneline --graph"

이제 아래와 같이 간단히 별칭(alias) 버전의 명령어를 사용할 수 있다:

# 현재 브랜치의 history 보기 : git lol # 현재 활성화된 브랜치 (HEAD) 및 develop 브랜치와 origin/master 브랜치의 history 를 모두 통합하여 보기 : git lol HEAD develop origin/master # 사용자 저장소에 있는 모든 history 를 나열하기 : git lol --all

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

'번역 > Git Notes for Professionals' 카테고리의 다른 글

2.4: 로그 내용을 한줄씩만 표시하기  (0) 2019.08.14
2.3: 로그에 색상입히기  (0) 2019.08.13
2.1: "일반적인" Git 로그  (0) 2019.08.13
1.8: Git 설치하기  (0) 2019.08.13
1.7: Git 과 SSH 연동하기  (0) 2019.08.13
GitNotes.2-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 2.1: "일반적인" Git 로그

git log

위 명령어는 모든 커밋들의 작성자 (author) 정보와 해시값을 표시한다. 기본적으로 git log 명령은 하나의 커밋당 여러줄의 정보를 보여주게 된다 (매 커밋당 딱 한줄씩의 정보만 보고싶다면 "로그 한줄씩 표시하기" 챕터 내용을 참고하라). 로그 표시 상태에서 빠져나오기 위해서는 'q' 키를 누르면 된다.

예제 (Free Code Camp 저장소에서 발췌):

commit 87ef97f59e2a2f4dc425982f76f14a57d0900bcf Merge: e50ff0d eb8b729 Author: Brian Date: Thu Mar 24 15:52:07 2016 -0700 Merge pull request #7724 from BKinahan/fix/where-art-thou Fix 'its' typo in Where Art Thou description commit eb8b7298d516ea20a4aadb9797c7b6fd5af27ea5 Author: BKinahan Date: Thu Mar 24 21:11:36 2016 +0000 Fix 'its' typo in Where Art Thou description commit e50ff0d249705f41f55cd435f317dcfd02590ee7 Merge: 6b01875 2652d04 Author: Mrugesh Mohapatra Date: Thu Mar 24 14:26:04 2016 +0530 Merge pull request #7718 from deathsythe47/fix/unnecessary-comma Remove unnecessary comma from CONTRIBUTING.md

마지막 n개에 대해서만 커밋 로그를 보고 싶다면, 위 명령어에 n개에 해당하는 파라미터를 전달하기만 하면 된다. 예를 들어, 마지막 2개의 커밋 로그만 보고 싶다면 아래와 같이 입력한다.

git log -2

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts