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

Section 6.11: meld 툴을 이용하여 작업 디렉토리 내의 모든 수정사항을 확인하기

git difftool -t meld --dir-diff

위 명령어는 meld 를 이용하여 작업 디렉토리 내의 변경사항들을 보여줄 것이다. 추가적으로,

git difftool -t meld --dir-diff [COMMIT_A] [COMMIT_B]

위 명령어와 같이 수행하면 특정 두개의 커밋 사이의 차이점을 확인할 수 있다.

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

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

Section 6.10: 두 커밋 혹은 두 브랜치 사이의 차이점 확인하기

두 브랜치 사이의 차이점을 확인하려면 아래와 같이 수행한다

git diff <branch1>..<branch2>

두 커밋 사이의 차이점을 확인하려면 아래와 같이 수행한다

git diff <commitId1>..<commitId2>

현재 브랜치와의 차이점을 확인하려면 아래와 같이 수행한다

git diff <branch/commitId>

변경내역을 요약해 보려면 아래와 같이 수행한다

git diff --stat <branch/commitId>

특정 커밋 이후로 변경된 파일들의 목록을 확인하려면 아래와 같이 수행한다

git diff --name-only <commitId>

특정 브랜치와 비교했을때 차이점이 있는 파일들의 목록을 확인하려면 아래와 같이 수행한다

git diff --name-only <branchName>

특정 커밋 이후로 변경된 파일들 중 특정 폴더 내의 목록만을 확인하려면 아래와 같이 수행한다

git diff --name-only <commitId> <folder_path>

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

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

Section 6.9: patch 명령어와 호환되는 diff 결과물 생성하기

가끔식은 patch 명령어를 이용해서 변경 내역을 적용할 수 있는 diff 결과물이 필요할 때가 있다. 기본적인 git --diff 명령어의 결과물은 이러한 경우에 바로 사용할 수 없으므로, 아래 명령어를 사용하라:

git diff --no-prefix > some_file.patch

이후, 이렇게 생성된 패치 파일을 다른 곳에서 이용해 변경 내역을 적용할 수 있다:

patch -p0 < some_file.patch

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

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

Section 6.8: 현재 커밋과 이전 커밋 사이의 차이점 표시하기

git diff HEAD^ HEAD

위 명령은 이전 커밋과 현재 커밋 사이의 변경 사항을 표시해 줄 것이다.

역주: HEAD 는 마지막 커밋을, HEAD^ 는 마지막 커밋 직전 커밋을 가리키므로, 현재 작업 디렉토리에 커밋하지 않은 수정사항이 있을 경우에는 위 명령어의 결과와 git diff HEAD^ 의 결과가 다르게 나옵니다. (커밋하지 않은 수정사항이 없는 경우에는 동일)

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

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

Section 6.7: 변경된 라인 목록을 단어 단위 변경 형식으로 보기

git diff [HEAD|--staged...] --word-diff

위 명령은 변경 내역을 라인 단위 형식으로 표시하는 대신에, 변경 내역을 한 라인 내에 포함하여 표시해 준다. 예를 들어, 아래와 같이 표시하는 대신에:

-Hello world +Hello world!

전체 라인에 대해 변경되었다는 표식을 추가하는 대신 단어 단위로 변경 내역을 출력하여 준다:

Hello [-world-]{+world!+}

[-, -], {+, +} 와 같은 변경 내역 마커를 표시하지 않고 싶다면, --word-diff=color 혹은 --color-words 옵션을 사용할 수 있다. 이 옵션들은 변경 사항을 표시하기 위해 아래와 같이 색깔을 이용해 나타내 줄 것이다:

word-diff

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

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

Section 6.6: 특정 파일이나 디렉토리에 대해 변경사항 출력하기

git diff myfile.txt

위 명령어는 해당 특정 파일에 대해 (myfile.txt) 가장 최근에 커밋된 버전과 로컬에서 stage 되지 않은 수정 버전 사이의 변경 사항을 보여준다.

이 방법은 디렉토리에 대해서도 동일하게 사용 가능하다:

git diff documentation

위 명령은 지정된 디렉토리 (documentation/) 내의 모든 파일들에 대해 가장 최근 커밋 이후에 로컬에서 stage 되지 않은 모든 수정 내역들을 보여줄 것이다.

어떤 파일에 대해, 특정한 커밋 버전의 내용과 로컬 HEAD 버전 사이의 차이를 비교해 보고 싶다면 아래와 같이 비교할 커밋을 직접 지정할 수 있다:

git diff 27fa75e myfile.txt

혹은, 두개의 다른 커밋 사이의 차이점을 비교할 수도 있다:

git diff 27fa75e ada9b57 myfile.txt

해시값 ada9b57 으로 표현되는 버전과 my_branchname 라는 이름의 브랜치의 가장 최신 버전과의 차이점 중에서 my_changed_directory/ 디렉토리 이하의 상대 경로상의 파일들에 대해서만 비교를 수행하고 싶다면 아래와 같이 수행한다:

git diff ada9b57 my_branchname my_changed_directory/

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

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

Section 6.5: stage 된 변경내역과 stage 되지 않은 변경내역 모두 표시하기

stage 된 변경내역과 stage 되지 않은 변경내역을 모두 표시하려면 아래와 같이 입력한다:

git diff HEAD

참고: 아래의 명령어를 사용할 수도 있다:

git status -vv

두번째 명령어는 첫번째 명령어와의 차이점이 하나 있는데, 그것은 바로 stage 된 변경사항들과 stage 되지 않은 변경사항들을 구분해서 보여준다는 것이다.

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

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

Section 6.4: 브랜치간의 차이점 비교하기

new 브랜치의 마지막 커밋과 original 브랜치의 마지막 커밋간의 차이점을 출력하려면 다음과 같이 수행한다:

git diff original new # original..new 라고 적어도 동일하다

new 브랜치가 original 브랜치로부터 분리된 이후로의 모든 변경사항을 출력하려면:

git diff original...new # $(git merge-base original new)..new 라고 적어도 동일하다

역주: $(git merge-base original new)..new 의 경우에는 original 브랜치에 분기 이후 추가적인 커밋이 없었을 때에만 앞선 명령어와 동일한 결과를 출력합니다.

파라미터를 아래처럼 하나만 준 경우에는

git diff original

아래 명령어를 수행한 것과 동일하게 동작한다

git diff original..HEAD

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

반응형

+ Recent posts