필자는 시스템에 사용할 텍스트를 입력하는 텍스트 파일 (.yml)을 가지고 있습니다. 그러나 이제 우리는 한 번에 새로운 줄을 알아야합니다. 나는 우리 문제를 해결하기 위해 git을 사용하려고 생각했지만, 이것을하기위한 명확한 명령을 찾을 수 없다.첫 번째 커밋과 마지막 커밋 사이에 동일한 파일에서 git diff 사용
이것이 가능합니까?
필자는 시스템에 사용할 텍스트를 입력하는 텍스트 파일 (.yml)을 가지고 있습니다. 그러나 이제 우리는 한 번에 새로운 줄을 알아야합니다. 나는 우리 문제를 해결하기 위해 git을 사용하려고 생각했지만, 이것을하기위한 명확한 명령을 찾을 수 없다.첫 번째 커밋과 마지막 커밋 사이에 동일한 파일에서 git diff 사용
이것이 가능합니까?
당신은 너무 같은 것을 옆 널빤지 커밋의 목록을 얻을 수 있습니다 :
git log --abbrev-commit --pretty=oneline
같은 것을해야하는 :
commitD Description
commitC Description
commitB Description
commitA Description
은 두 커밋을 선택하고 다음을 대체 :
를git diff <commitA>..<commitB> -- /path/to/file
내 문제가 해결되었습니다! –
git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>
하면 그것은 하나의 카운트 --reverse 사용하는 작동하지 않습니다 (-1/--max 카운트 1) :
당신은 하나의 커맨드와 함께 할 수 있습니다 그것을 잘라낸 후에 따라서 head 명령과 함께 --reverse를 사용하거나 tail -1을 사용합니다.
라인 엔딩과 탭 대 스페이스 사용의 스위치 때문에 필자는 -w를 추가해야했다.
첫 번째 커밋에서 파일을 추가하지 않으면 예상대로 작동하지 않을 수 있습니다!
git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>
의 중복 가능성 [힘내 :? 같은 지점에 두 개의 서로 다른 커밋과 같은 파일을 diff를하는 방법] (http://stackoverflow.com/questions/3338126/git 당신은 위의 라인을 변경할 수 있습니다 -how-to-diff-the-same-file-between-two-different-commits-on-same-branch) –