2012-07-27 3 views
2

특정 기술이 아닌 사람이 특정 github 프로젝트를 진행할 때 실제로하고있는 일에 대해 더 잘 알고 싶습니다. 나는이 프로젝트의 메인 브랜치에 추가 한 모든 코드로 텍스트 파일을 만들고 싶습니다. 나는 그것을 텍스트 편집기에 넣고 모든 화면을 스크롤하고 싶다. 그것은 기본적으로 내가 원하는 이유입니다.이 때문에 '줄 수'또는 '문자 수'stat는 동일한 영향을 미치지 않습니다.힘내 : 현재 지점에 사용자가 추가 한 모든 행 표시

특히, 내가 보여주고 싶은 것은 : 나중에 제거 된 경우에도 (첫 번째 선택) 모든 라인이 나를 추가했습니다. 나는 최신 버전에 기여

(두 번째 선택) 모든 라인

이 할 수있는 방법이 있나요, 또는 적어도 단지 현재 브랜치의 모든 라인을 출력 (우리는 하나 개의 지점을 가지고)? (나는 그 중 90 % 이상을 어쨌든 썼다)

나는 그 자체로는별로 유용하지 않다는 것을 알고있다. 그러나 나는 이것이 행의 수와 같이 더 유용한 것으로부터 떨어져있는 한 편의 스크립트라고 생각한다.

배경 -> 저는 힘내에서 새 것이므로 Windows의 명령 줄에서 사용하고 있습니다. 나는 약간의 리눅스 경험을 가지고있어서 너무 신경 쓰지 않는다. 나는 또한이 프로젝트에 Github을 사용하고 있으며 Windows 클라이언트 용 github에 액세스 할 수 있습니다 (실제로는 사용하지 않지만).

답변

2

이 시도 :

git show $(git rev-list --author="Your Name" HEAD) 

이 차이점이 아니라 "추가 라인"을 표시하지만 차이점은 더 의미가있다. 자동화 된 절차는 다른 행으로 대체 된 행을 추가 또는 수정으로 간주해야하는지 여부를 결정할 수 없습니다.

+0

추가/수정은 자동으로 결정하기가 매우 어려울 것이라는 데 동의했습니다. 이 명령은 추가, 삭제 및 기존 행을 표시합니다. 기존 라인을 한 번 보여 주면되지만, 커밋을 통해 파일을 수정할 때마다 파일의 전체 내용을 인쇄 할 것인가? 나는 그렇게하지 않을 것입니다. 그래도 시작하기에 큰 도움이됩니다. 고맙습니다! – user1445967

+2

전체 내용을 인쇄하지 않고 일반 diff (줄을 추가하거나 제거하고 컨텍스트를 제공하기 위해 포함 된 변경되지 않은 인접 줄 몇 개)를 출력합니다. -U0을 추가하여 컨텍스트 행을 제거 할 수 있습니다. diff를 읽을 수없는 사람이라도 프로그래머가 무엇을하고 있는지 알고 싶습니까? 그 (것)들에게 어떤 무작위 파일의 hexdump를 보여주고, 그들이 사라질 때까지 그것을 보도록하십시오. –

+0

이 답변은 작동하는 것으로 보입니다. 그것은 작동하는 것처럼 보이는 다른 대답과 크기면에서 매우 유사한 결과물을 만들어 냈습니다. 제 의견을 듣고 돌아와서 더 많은 정보를 제공해 주셔서 대단히 감사합니다! 투표를하고 두 답을 모두 받아들이 기는하지만 무엇을해야할지 확신 할 수는 없지만 처음부터이 대답을 받아 들여야한다고 생각합니다. 누군가가 이것을 읽고 있다면, 올바른 것으로 보이는 한 다른 답변도 투표하십시오. – user1445967

2

당신은 모든 변경 사항의 (대신 세의 컨텍스트의 제로 라인)는 "최소한의"를 얻기 위해 다음 패치 같은 시도 할 수 :

for h in $(git --no-pager log --author='name' --format='%H' HEAD); do git --no-pager diff-tree -U0 $h; done >mychanges.txt 

mychanges.txt는 "비 기술적 인"사람을 주어야한다을 네가 한 짓에 대한 약간의 생각; 그들이 실제로 이해해야하는 것은 +으로 시작하는 줄은 추가 한 줄이고 -으로 시작하는 줄은 삭제 한 줄입니다. 몇 가지 파일에 대해 몇 가지 diff를 살펴보면 파일의 중단이 발생하고 나머지 파일은 독자적으로 읽을 수 있어야합니다.

+0

이 답변은 작동하는 것으로 보입니다. 그것은 작동하는 것처럼 보이는 다른 대답과 크기면에서 매우 유사한 결과물을 만들어 냈습니다. 정확한 명령을 입력 해 주셔서 감사합니다! 투표를하고 두 가지 대답을 모두 받아 들일 수는 있지만 먼저 답변을 게시 한 이후 다른 대답을 수락 할 것입니다. 그러나 누군가가 이것을 읽고 있다면, 나는 우리가 아무것도 간과하지 않았다는 가정하에 두 대답을 모두 투표하기를 바랍니다. – user1445967

관련 문제