문제

GIT에서 개별 파일의 변경 기록을 어떻게 볼 수 있습니까?

나는 다음과 같이 얻었습니다.

git log -- [filename]

파일의 커밋 기록을 보여 주지만 각 파일 변경의 내용을 어떻게 얻습니까?

나는 MS SourcesAfe에서 전환하려고 노력하고 있으며 간단했습니다. right-clickshow history.

도움이 되었습니까?

해결책

이것을 위해 나는 다음을 사용한다 :

gitk [filename]

또는 과거의 이름을 바탕으로 파일 이름을 따르십시오

gitk --follow [filename]

다른 팁

당신이 사용할 수있는

git log -p filename

git이 각 로그 항목에 대한 패치를 생성하도록합니다.

보다

git help log

더 많은 옵션을 위해 - 실제로 많은 좋은 일을 할 수 있습니다 :) 특정 커밋에 대한 차이 만 얻을 수 있습니다.

git show HEAD 

또는 식별자 별 다른 개정. 또는 사용

gitk

변경 사항을 시각적으로 탐색합니다.

git log --follow -p -- path-to-file

이것은 그것을 보여줄 것입니다 전체 파일의 기록 (이름을 넘어서서 및 각 변경에 대한 차이가 포함 된 기록 포함).

다시 말해, 파일이 명명 된 경우 bar 한때 지명되었습니다 foo, 그 다음에 git log -p bar (없이 --follow 옵션)은 이름이 바뀌는 지점까지 파일의 기록을 보여줍니다. foo. 사용 git log --follow -p bar 파일의 변경 사항을 포함하여 파일의 전체 기록을 표시합니다. foo. 그만큼 -p 옵션은 각 변경에 대해 차이가 포함되도록합니다.

텍스트 기반을 유지하려면 사용하고 싶을 수도 있습니다. 싸움.

빠른 설치:

  • apt-get: # apt-get install tig
  • 홈브류 (OS X): $ brew install tig

이를 사용하여 단일 파일에서 기록을보십시오. tig [filename]
또는 자세한 리포 기록을 찾아보세요 : tig

비슷하다 gitk 그러나 텍스트 기반. 터미널의 색상을 지원합니다!

git whatchanged -p filename 또한 동일합니다 git log -p filename 이 경우.

파일 내부의 특정 코드 줄이 git blame filename. 이것은 파일의 모든 줄에 대한 짧은 커밋 ID, 저자, 타임 스탬프 및 완전한 코드 라인을 인쇄합니다. 이것은 버그를 찾은 후에 매우 유용하며 언제 소개되었는지 (또는 누가 잘못되었는지) 알고 싶습니다.

sourcetree 사용자

Sourcetree를 사용하여 저장소를 시각화하는 경우 (무료이고 아주 좋습니다) 파일을 마우스 오른쪽 버튼으로 클릭하고 선택할 수 있습니다. 로그를 선택했습니다

enter image description here

디스플레이 (아래)는 Gitk보다 훨씬 더 친절하고 다른 옵션이 나열되어 있습니다. 불행히도 (현재) 명령 줄 에서이 뷰를 시작하는 쉬운 방법은 없습니다. Sourcetree의 CLI는 현재 저장소를 엽니 다.

enter image description here

어떤 개정판과 저자가 파일의 각 줄을 마지막으로 수정했는지 보여줍니다.

git blame filename

또는 강력한 비난 GUI를 사용하려면 :

git gui blame filename

그들을 읽고 조금 재생 한 후 다른 답변을 요약하십시오.

일반적인 명령 줄 명령은 다음과 같습니다

git log --follow --all -p dir/file.c

그러나 Gitk (GUI) 또는 TIG (Text-UI)를 사용하여 인간이 읽을 수있는 방법을 훨씬 더 많이 볼 수 있습니다.

gitk --follow --all -p dir/file.c

tig --follow --all -p dir/file.c

Debian/Ubuntu 에서이 멋진 도구의 설치 명령은 예상대로 다음과 같습니다.

sudo apt-get install gitk tig

그리고 현재 사용 중입니다.

alias gdf='gitk --follow --all -p'

내가 입력 할 수 있도록 gdf dir 서브 디렉토리에서 모든 것에 집중된 역사를 얻습니다 dir.

이 별칭을 .gitconfig에 추가하십시오.

[alias]
    lg = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\n--abbrev-commit --date=relative

그리고 다음과 같은 명령을 사용하십시오.

> git lg
> git lg -- filename

출력은 Gitk 출력과 거의 동일하게 보입니다. 즐기다.

최근에 나는 발견했다 tig 매우 유용하다는 것을 알았습니다. A 또는 B를하기를 바라는 경우가 있지만 대부분은 다소 깔끔합니다.

당신의 경우, tig <filename> 당신이 찾고있는 것일 수 있습니다.

http://jonas.nitro.dk/tig/

나는 썼다 git-playback 이 정확한 목적을 위해

pip install git-playback
git playback [filename]

이것은 명령 줄에 결과를 표시하는 이점이 있습니다 ( git log -p) 또한 화살표 키를 사용하여 각 커밋을 밟을 수 있습니다 ( gitk).

또는:

gitx -- <path/to/filename>

사용하는 경우 Gitx

파일의 전체 기록을보고 싶다면 포함 ~에 그 외 모든 것들 분기 사용 :

gitk --all <filename>

우수한 git 확장, 당신은 파일이 여전히 존재하는 역사의 한 지점으로 이동합니다 (삭제 된 경우, 그렇지 않으면 머리로 이동)로 전환하십시오. File tree 탭, 파일을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오 File history.

기본적으로 Rename을 통해 파일을 따릅니다. Blame 탭은 주어진 개정판에서 이름을 볼 수 있습니다.

보여주는 것과 같은 사소한 gotchas가 있습니다 fatal: Not a valid object name 에서 View 탭 삭제 개정을 클릭 할 때 탭하지만 그와 함께 살 수 있습니다. :-)

저장소 메뉴에서 Git Gui (Windows)를 사용하는 경우 "Master 's History visualize"를 사용할 수 있습니다. 상단 창에 커밋을 강조하고 오른쪽 하단에 파일을 강조 표시하면 왼쪽 하단에 해당 커밋의 차이가 표시됩니다.

Smartgit:

  1. 메뉴에서 변경되지 않은 파일을 표시 할 수 있습니다 :보기 / 변경되지 않은 파일 표시
  2. 파일을 마우스 오른쪽 버튼으로 클릭하고 '로그'를 선택하거나 'ctrl-l'을 누릅니다.

파일의 특정 부분을 변경 한 커밋 (GIT 1.8.4에서 구현)을 나열한이 작업을 시도 할 수도 있습니다.

결과는이 특정 부분을 수정 한 커밋 목록입니다. 명령 :

git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

여기서 상류는 start_line_number이고 LowerLimit은 파일의 ending_line_number입니다.

자세한 내용 https://www.techpurohit.com/list-some-useful-git-commands

내가이 스레드에 있지 않은 대답은 Commit을 위해 준비한 파일의 변경 사항을 보는 것입니다. 즉

git diff --cached

거북이를 사용하는 경우 파일을 마우스 오른쪽 버튼으로 클릭하고 TortoiseGit --> Show Log. 팝업되는 창에서 다음을 확인하십시오.

  • 'Show Whole Project'옵션은 점검되지 않습니다.

  • 'All Branches'옵션이 확인됩니다.

git diff -U <filename> 통일 된 차이를 제공하십시오.

빨간색과 녹색으로 채색해야합니다. 그렇지 않은 경우 실행 : git config color.ui auto 첫 번째.

GIT 플러그인과 함께 Eclipse를 사용하는 경우 역사와 비교하여 탁월한 비교가 있습니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 ""=> "히스토리와 비교"를 선택하십시오.

vscode를 사용할 수 있습니다 gitlens, 그것은 매우 강력한 도구입니다. Gitlens를 설치 한 후 Gitlens 탭으로 이동하여 선택하십시오. FILE HISTORY 그리고 당신은 그것을 탐색 할 수 있습니다.

enter image description here

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top