(Giit) 줄 끝에 추가되거나 삭제된 커밋 찾기

3517 단어 Git
지트 창고에서 수환의 옵션에서 무단으로 삭제된 행미 공간을 찾는 방법.

결론


다음 onliner를 통해 표 형식의 결과를 얻을 수 있습니다.
git log -S" $" --pickaxe-regex --name-only --pretty="__NEWLINE__%h%x09%an%x09%ae%x09%s" | tr "\n" "\t" | sed 's/__NEWLINE__/\n/g'
참고: Mac OS의sed가 제대로 작동하지 않습니다.회피 전략은 뒤에서 서술한다.

해설


step1:git-log로 로그 검색

git log -S" $" --pickaxe-regex --name-only --pretty="__NEWLINE__%h%x09%an%x09%ae%x09%s"
  • -S--pickaxe-regex: 문말 공간을 추가하거나 삭제하는 제출을 찾고 있습니다.
  • --name-only: 파일을 출력하는 경로입니다.
  • --pretty: 출력 형식을 지정합니다.후술
  • 출력 형식의 보충

    __NEWLINE__: 나중에 줄을 바꾸는 기호에 사용합니다.%x09: 레이블 문자

    step2: 한 줄로 묶기

    tr "\n" "\t"
    

    step3: 표시된 줄에서 줄 바꾸기

    sed 's/__NEWLINE__/\n/g'
    
    참고: Mac OS의 sed에서는 줄 바꿈이 제대로 이동되지 않습니다.홈 brew 등에 GNU sedgsed를 입력하거나 \ 이후에 실제 줄 바꿈을 입력하십시오.

    사례.


    github의githubtrainig/hellogitworld로 해보세요.
    git clone https://github.com/githubtraining/hellogitworld
    git log -S" $" --pickaxe-regex --name-only --pretty="__NEWLINE__%h%x09%an%x09%ae%x09%s" | tr "\n" "\t" | sed 's/__NEWLINE__/\n/g'
    
    ebbbf77 Jordan McCullough   [email protected]   Update package name, directory      src/test/java/com/ambientideas/AppTest.java src/test/java/com/github/AppTest.java   
    45a30ea Jordan McCullough   [email protected]   Update package name, directory      src/main/java/com/ambientideas/App.java src/main/java/com/gith![kobito.1446274215.865095.png](https://qiita-image-store.s3.amazonaws.com/0/98701/9de8bef4-7ab8-c7f6-244a-20efd679ed9f.png "kobito.1446274215.865095.png")
    ub/App.java
    d2280d0 Matthew McCullough  [email protected]  Adding maven build script       src/main/java/com/ambientideas/App.java src/test/java/com/ambientideas/AppTest.java 
    
    
    TSV 파일에 뱉어 스프레드시트로 열면 이런 느낌을 볼 수 있다.

    좋은 웹페이지 즐겨찾기