기존 커밋, Git의 미래

4676 단어 githubgitproductivity
기존 커밋은 작업 방식에 혁명을 일으켰고 git 워크플로에 대해 다시 생각하게 했습니다.

뭐?



간단히 말해서, 기존 커밋은 커밋 메시지를 작성하는 표준입니다. conventions for naming variables 또는 numbering release versions 과 마찬가지로 커밋 메시지를 작성하는 규칙이 있습니다.

더 간단하게 말하면 일반적인 커밋은 커밋 메시지를 작성하는 방법을 알려줍니다.

그들은 쓰기가 더 쉽습니다



기존 커밋을 채택하면 많은 이점이 있습니다. 그러나 채택자가 가장 먼저 알아차린 것은 커밋 작성 프로세스를 단순화한다는 것입니다. 모든 개발자는 이름을 짓는 것이 얼마나 어려운지 알고 있으며, 설명적이면서도 간결한 커밋을 작성하는 것은 훨씬 더 어려울 수 있습니다. 따를 형식을 제공함으로써 기존 커밋은 커밋 메시지를 작성할 때 필요한 많은 생각 작업을 없애고 좋은 방향을 알려줍니다.

그들은 더 읽기 쉽습니다



둘째, 사람과 컴퓨터 모두 저장소의 기록을 더 쉽게 읽을 수 있습니다. 컨벤션의 장점은 메인테이너가 커밋을 쉽게 살펴보고 각각이 저장소에서 수행한 작업의 요지를 얻을 수 있도록 설계되었다는 것입니다. gitmojis을 싸움에 추가하면 훨씬 쉬워집니다.

자, gitmojis는 무엇입니까?



Gitmojis은 개발 맥락에서 이모티콘에 의미를 부여하기 위한 규칙(예, 또 다른 규칙)입니다.

예를 들어:
  • 🎨 = "코드의 구조/형식을 개선합니다."
  • ⚡️ = "성능 향상."
  • ✨ = "새로운 기능을 소개합니다."

  • 이 이모티콘은 밝고 즉시 독자에게 튀어나오기 때문에 커밋이 변경한 사항을 훨씬 더 쉽게 확인할 수 있습니다. 형식에 익숙하지 않은 사람이라도 인간이 이미지와 의미를 연관시키는 방식 때문에 일반적인 개념을 이해할 수 있습니다.

    도구는 그것을 구문 분석 할 수 있습니다



    규칙을 사용하면 자동화된 도구가 커밋을 쉽게 처리할 수 있습니다. 도구는 lint commits , help to write them 또는 automate changelogs and versioning.에 존재합니다.

    난 팔렸어, 무슨 대회야?



    <type>[optional scope]: <description>
    
    [optional body]
    
    [optional footer(s)]
    

    이것은 Extended Backus–Naur Form.에 작성된 협약의 기본 표현입니다. 추가 규칙 및 설명은 the conventional commits website.에서 찾을 수 있습니다.

    유형



    커밋 유형은 발생하는 작업 유형을 설명합니다. 이슈나 스토리에 추가되는 레이블과 유사하다고 생각할 수 있습니다.

    규칙은 기능에 대해 feat, 버그 수정에 대해 fix를 정의하지만 필요한 경우 다른 항목을 추가할 수 있습니다. 예를 들어 commitlint은 다음과 같이 몇 가지를 더 추가합니다.
  • 잡일
  • 문서
  • feat
  • 수정
  • 퍼프
  • 리팩터링
  • 되돌리기
  • 스타일
  • 테스트

  • 범위(선택 사항)



    범위는 작업을 수행하는 영역을 나타내므로 작업 중인 프로젝트에 전적으로 의존합니다. 범위는 일반적으로 ( ) 로 둘러싸여 있습니다. 주요 변경 사항이 발생하면 이를 나타내기 위해 범위 끝에 !가 배치되는 경우가 있습니다.

    예를 들어, 웹 애플리케이션에는 다음이 있을 수 있습니다.
  • (데이터베이스)
  • (종속성)
  • (스타일링)

  • 설명



    여기에서 커밋에 대한 설명이 나옵니다. 수행한 작업을 설명하는 간략한 설명입니다. 변경 사항과 관련된 모든 gitmojis는 이 시작 부분에 있어야 합니다.

    본체(옵션)



    필요한 경우 더 긴 설명이 필요한 곳입니다. 이 커밋으로 주요 변경 사항이 도입된 경우 여기에 또는 바닥글 형식으로 설명해야 합니다.BREAKING CHANGE change description

    바닥글(선택사항)



    바닥글은 다시 한 번 완전히 프로젝트에 종속되지만 "각 바닥글은 단어 토큰으로 구성되어야 하며 그 뒤에 :<space> 또는 <space># 구분 기호가 오고 그 뒤에 문자열 값이 와야 합니다"라는 특정 형식을 따라야 합니다. (conventional commits website에서 )



    (conventional commits website의 의례)

    feat: ✨ allow provided config object to extend other configs
    
    BREAKING CHANGE: `extends` key in config file is now used for extending other config files
    



    refactor!: 💥 drop support for Node 6
    
    BREAKING CHANGE: refactor to use JavaScript features not available in Node 6.
    



    fix: ✏️ correct minor typos in code
    
    see the issue for details
    
    on typos fixed.
    
    Reviewed-by: Z
    Refs #133
    

    결론



    기존 커밋이 좋으며 시도해야 합니다.

    좋은 웹페이지 즐겨찾기