git의 차이를 쉽게 알아차리다

4208 단어 GitPHP

개시하다


올해도 advent 달력이 시작됩니다!
이 글은 Hamee Advent Calendar 2018 첫날의 글이다.
Hamee 엔지니어(일부 디자이너)는 자신이 흥미를 느끼는 주제를 쓴다.
매년 저와 함께 참여해 주시고 분위기를 띄워주신 여러분 감사합니다

메시지


그럼, 본제지만 git의 차점을 나타낼 때'아니야, 그게 아니야'하는 경우가 많을 거라고 늘 생각해서 뭔가 하고 싶어서 조사해봤는데

샘플 코드


언어는 무엇이든지 좋으니 어쨌든 먼저 PHP하세요.
예를 들어 다음과 같은 코드가 있다고 가정해 보세요.
<?php
class Test{
    public function hoge(){
        return 'hoge';
    }

    public function moge(){
        return 'moge';
    }
}
이 상태에서 커밋합니다.
다음은 수정된 내용입니다.
<?php
class Test{
    public function test(){
        return 'test';
    }

    public function hoge(){
        return 'hoge';
    }
}
  • 했던 일
  • moge 제거 방법
  • 테스트 방법 증가
  • git diff로 이걸 보면 다음과 같습니다.
     class Test{
    -    public function hoge(){
    -        return 'hoge';
    +    public function test(){
    +        return 'test';
         }
    
    -    public function moge(){
    -        return 'moge';
    +    public function hoge(){
    +        return 'hoge';
         }
     }
    
  • 이 차분을 보면
  • hoge방법을test방법
  • 으로 변경
  • 모지 방법을 hoge 방법으로 변경
  • 되다

    아니야, 그런 거 아니야.


    hoge 방법을 전혀 접하지 못했지만 수정이 된 것 같아서 개발자 본인이라면 몰라도 제3자가 보면 혼란스러울 것 같아요.
    이럴 때 적합한 옵션이 있어요.git diff --histogram or git diff --patience이 옵션을 사용하면 다음과 같은 차이를 표시합니다
     class Test{
    +    public function test(){
    +        return 'test';
    +    }
    +
         public function hoge(){
             return 'hoge';
         }
    -
    -    public function moge(){
    -        return 'moge';
    -    }
     }
    
    이 차이라면 테스트 방법을 추가하고 모지 방법을 삭제하고 hoge 방법은 차이가 없다는 점을 잘 알고 있다

    총결산


    검출 차분을 지정하는 알고리즘을 통해 이해하기 쉽다.git diff --histogramgit diff --patience의 차이는 솔직히 잘 모르겠습니다(자세한 내용은 보충해 주십시오)
    알고리즘의 상세한 행동도 잘 알려지지 않아 상황에 따라 예상치 못한 차이를 보일 수 있다.
    이 근처에서 좀 더 공부하자.
    안타깝게도 당사가 채용박람회에서 사용bitbucket하는 것은 대응이 없는 것이 아닌가...
    나는 diff의 알고리즘을 지정할 수 있다면 더욱 순조롭게 될 것이라고 생각한다.
    Atlassian씨가 검토해 주세요.

    참고 자료


    Git - git-diff Documentation
    https://git-scm.com/docs/git-diff

    끝말


    4년째야.
    Qita에는 쓰레기 보도 문제 등이 있지만 지식 수출이 중요하기 때문에 이 문화만 사라질 수 없다고 생각한다.
    Qita가 아니어도 되고, 기술 블로그가 아니어도 되고, 어쨌든 수출하면 절대 성장할 수 있다.
    여러분도 적극적으로 수출하세요!
    그럼 이후에도 Hamee 광고 기대해주세요!

    좋은 웹페이지 즐겨찾기