읽을 수있는 주석을 만들기 위해 분기 이름을 구문 분석 할 수 있습니까?

AngryHacker

.gitconfig에 모든 미해결 파일을 빠르게 추가하고 커밋 한 다음 PR을 푸시 할 수있는 별칭이 있습니다. 아마 어딘가에서 복사했습니다.

[alias]
    lazy = "!f() { git add -A && git commit -m \"$@\" && git push; }; f"

이렇게하면 다음을 수행 할 수 있습니다.

> git lazy "HS-123: Add logging functionality" 

더 게으 르기 위해 현재 브랜치의 이름을 읽고 커밋 주석을 파싱하여 간소화하고 싶습니다. 티켓 작업을 시작할 때 티켓 번호와 기능이 포함 된 지점 이름을 만듭니다. 예를 들어 티켓 HS-123은 로깅 기능을 추가하고 있습니다. 그래서 내 지점은 feature/hs-123-add-logging-functionality.

브랜치 이름을 구문 분석하여 HS-123: Add logging functionality. 따라서 티켓 이름과 콜론, 대시가 제거 된 기능 설명입니다. 이런 식으로 입력 git lazy하고 완료 할 수 있습니다.

다음과 같은 질문이 있습니다.

  1. 별칭에는 어떤 언어가 사용됩니까 (모호하게 JavaScript 또는 bash처럼 보임)?
  2. 언어가 무엇인지 알고 나면 현재 브랜치를 어떻게 얻습니까?

추신이 답변과 다른 답변 덕분에 앞으로 다른 사람들에게 도움이 될 수있는 대본을 함께 만들었습니다.

[alias]
    foo =  "!f() {  : convert branch name like hotfix/hs-123-add-logging into a comment like HS-123: Add logging; \
                    : get the current branch; \
                    branch="$(git branch --show-current)"; \
                    : find the index of the forward slash; \
                    index="$(expr index "$branch" /)"; \
                    : remove everything before the forward slash leaving hs-123-add-logging; \
                    withoutEnvironment=${branch:$index}; \
                    : parse out the description only e.g. add-logging; \
                    description=${withoutEnvironment#*-*-}; \
                    : parse out the ticket number only e.g. hs-123; \
                    ticket=${withoutEnvironment%-"$description"}; \
                    : upper case the first letter of description e.g. Add-logging; \
                    description=${description^}; \
                    : replace dashes with spaces e.g. Add logging; \
                    description=${description//-/ }; \
                    : upper case the entire ticket number e.g. HS-123; \
                    ticket=${ticket^^}; \
                    separator=': '; \
                    : create a comment by combining ticket, separator and description; \
                    comment=${ticket}${separator}${description}; \
                    : git add, commit and push; \
                    git add -A && git commit -m \"${comment}\" && git push; \
                 }; f"   
bk2204

예, 별칭은 shell입니다. 힘내를 발동 /bin/sh하고, dash데비안과 우분투,하지에 bash. 따라서 데비안이 정책 매뉴얼에 문서화 한 추가 기능을 추가하여 POSIX 셸 의미 체계로 제한해야합니다 local. Git은로 시작하는 모든 별칭 !을 셸로 보냅니다 .

브랜치 이름을 얻으려면 git rev-parse --abbrev-ref HEAD. 이것은 스크립트에서 git branch사용되는 것이 아니기 때문에 스크립팅에 더 좋습니다 .

커밋 메시지를 작성하는 것이 목표라면 메시지 편집 코드를 commit-msg후크에 넣고 텍스트를 본격적인 쉘 스크립트 (또는 다른 언어로 된 스크립트)로 처리하는 것이 좋습니다. 한 줄로만 구성된 커밋 메시지를 작성하는 것은 좋은 생각이 아니므로 실제로 편집기에서 추가 텍스트를 작성하고 싶을 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

읽을 수있는 이메일 콘텐츠를 만들기 위해 JSON 덤프를 아름답게 만들고 구문 분석합니다.

분류에서Dev

값만 있고 이름이없는 JSON을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

XML 구문 분석을위한 동적 변수 만들기

분류에서Dev

R에서 파일 읽기 및 구문 분석을 처리 할 수 있습니까?

분류에서Dev

특정 값을 찾기 위해 PHP에서 JSON을 구문 분석 할 수 없습니까?

분류에서Dev

사람이 읽을 수있는 산술 계산을 구문 분석하기위한 날짜 라이브러리

분류에서Dev

문자 수를 기준으로 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Powershell : graphviz "* .dot"파일을 읽고 구문 분석 할 수있는 cmd-let이 있습니까?

분류에서Dev

올바른 값을 구문 분석하기 위해 RegEx에서 수정 사항을 찾고 있습니다.

분류에서Dev

이 datetime 문자열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

XML 구문 분석을위한 제네릭을 어떻게 만들 수 있습니까?

분류에서Dev

apache vm이 생성을 위해 수행하는 동적 메시지를 구문 분석하는 Java 기반 템플릿 엔진이 있습니까?

분류에서Dev

SQL : 전체 이름에서 이름, 성 및 직함을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Scrapy Crawl : 데이터를 사람이 읽을 수있는 값으로 구문 분석 할 수 없습니다.

분류에서Dev

json.decode는 동일한 문자열을 구문 분석 할 수 있지만 response.body는 구문 분석 할 수 없습니다.

분류에서Dev

XML을 더 빠르게 구문 분석하는이 SQL 함수를 어떻게 만들 수 있습니까?

분류에서Dev

탐색 창을 만들기 위해 데이터 구문 분석

분류에서Dev

이 DateTime을 어떻게 구문 분석 할 수 있습니까? (T & Z)

분류에서Dev

키없이 JSON 파일을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 JSON을 Ruby에서 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 JSON을 더 효율적으로 구문 분석하는 데 사용할 수있는 속성 또는 변환기가 있습니까?

분류에서Dev

관리 할 수있는 분기에 제한이있는 역할을 만들 수 있습니까?

분류에서Dev

Python에 바이너리 형식을 편리하게 구문 분석 할 수있는 도구가 있습니까?

분류에서Dev

속성이있는 빈 xml 속성을 구문 분석 할 수 없습니다.

분류에서Dev

배열 이름에 대시 / 하이픈이있는 JSON 배열을 구문 분석 할 수 없습니다.

분류에서Dev

문자열을 내용의 특정 해석으로 구문 분석하는 기능이 있습니까?

분류에서Dev

이 JSON 포켓몬 사전을 어떻게 구문 분석 할 수 있습니까? (스위프트 3)

분류에서Dev

Lambda에서 응답을 받기 위해 API Gateway를 통해 이벤트에 대한 객체를 구문 분석 할 수 없습니까?

분류에서Dev

이 json 파일을 PHP를 통해 어떻게 구문 분석 할 수 있습니까?

Related 관련 기사

  1. 1

    읽을 수있는 이메일 콘텐츠를 만들기 위해 JSON 덤프를 아름답게 만들고 구문 분석합니다.

  2. 2

    값만 있고 이름이없는 JSON을 어떻게 구문 분석 할 수 있습니까?

  3. 3

    XML 구문 분석을위한 동적 변수 만들기

  4. 4

    R에서 파일 읽기 및 구문 분석을 처리 할 수 있습니까?

  5. 5

    특정 값을 찾기 위해 PHP에서 JSON을 구문 분석 할 수 없습니까?

  6. 6

    사람이 읽을 수있는 산술 계산을 구문 분석하기위한 날짜 라이브러리

  7. 7

    문자 수를 기준으로 문자열을 어떻게 구문 분석 할 수 있습니까?

  8. 8

    Powershell : graphviz "* .dot"파일을 읽고 구문 분석 할 수있는 cmd-let이 있습니까?

  9. 9

    올바른 값을 구문 분석하기 위해 RegEx에서 수정 사항을 찾고 있습니다.

  10. 10

    이 datetime 문자열을 어떻게 구문 분석 할 수 있습니까?

  11. 11

    XML 구문 분석을위한 제네릭을 어떻게 만들 수 있습니까?

  12. 12

    apache vm이 생성을 위해 수행하는 동적 메시지를 구문 분석하는 Java 기반 템플릿 엔진이 있습니까?

  13. 13

    SQL : 전체 이름에서 이름, 성 및 직함을 어떻게 구문 분석 할 수 있습니까?

  14. 14

    Scrapy Crawl : 데이터를 사람이 읽을 수있는 값으로 구문 분석 할 수 없습니다.

  15. 15

    json.decode는 동일한 문자열을 구문 분석 할 수 있지만 response.body는 구문 분석 할 수 없습니다.

  16. 16

    XML을 더 빠르게 구문 분석하는이 SQL 함수를 어떻게 만들 수 있습니까?

  17. 17

    탐색 창을 만들기 위해 데이터 구문 분석

  18. 18

    이 DateTime을 어떻게 구문 분석 할 수 있습니까? (T & Z)

  19. 19

    키없이 JSON 파일을 어떻게 구문 분석 할 수 있습니까?

  20. 20

    이 JSON을 Ruby에서 어떻게 구문 분석 할 수 있습니까?

  21. 21

    이 JSON을 더 효율적으로 구문 분석하는 데 사용할 수있는 속성 또는 변환기가 있습니까?

  22. 22

    관리 할 수있는 분기에 제한이있는 역할을 만들 수 있습니까?

  23. 23

    Python에 바이너리 형식을 편리하게 구문 분석 할 수있는 도구가 있습니까?

  24. 24

    속성이있는 빈 xml 속성을 구문 분석 할 수 없습니다.

  25. 25

    배열 이름에 대시 / 하이픈이있는 JSON 배열을 구문 분석 할 수 없습니다.

  26. 26

    문자열을 내용의 특정 해석으로 구문 분석하는 기능이 있습니까?

  27. 27

    이 JSON 포켓몬 사전을 어떻게 구문 분석 할 수 있습니까? (스위프트 3)

  28. 28

    Lambda에서 응답을 받기 위해 API Gateway를 통해 이벤트에 대한 객체를 구문 분석 할 수 없습니까?

  29. 29

    이 json 파일을 PHP를 통해 어떻게 구문 분석 할 수 있습니까?

뜨겁다태그

보관