0
첫째, 파일 abc.java가 있으며 코드 10 줄이 있습니다. 그런 다음 동일한 커밋에서 abc.java에서 해당 행을 제거하고이를 xyz.java에 저장합니다. git blame
또는 git log
이 파일 전체에서 해당 행의 기록을 추적 할 수있는 방법이 있습니까?특정 파일이 다른 파일에서 복사 된 것을 추적 할 수 있습니까?
내가 원한 것은 다음과 같습니다. 나는 git log -L100,110:xyz.java
(see -L documentation)을하고 싶고, xyz.java에서 10 행을 만지는 모든 커밋을 볼 수있을뿐만 아니라 abc.java에있을 때 그 행을 변경 한 커밋을 모두 볼 수 있습니다.
흠. 정확한지 확실하지 않습니다. Git은 두 개의 얼룩 (blob)을 취하여 둘 사이의 유사성 백분율이 어느 임계 값을 능가 하는지를 결정함으로써 알고리즘 적으로 이름 변경을 감지 할 수 있습니다. 따라서 이름을 바꾼 파일이 정확히 동일한 파일 및 해시 일 필요는 없습니다. [git log]에 대한 "--find-renames"인수 (http://git-scm.com/docs/git-log)를 참조하십시오. 어느 쪽의 방법이라도, 내가하는 것이 가능하지 않은 것처럼 보인다. 나는 이름 바꾸기를하거나 파일 내의 줄을 따라갈 수 있지만, 동시에 둘다 할 수는 없다. (즉,'git log --follow -L ...'는 에러를 던진다. –