해시 마크 (#)로 git commit 메시지를 시작하십시오
Git은 #
커밋 할 때 주석 줄로 시작하는 줄을 처리합니다 . 이것은 티켓 추적 시스템으로 작업 할 때 매우 성가 시며 라인 시작 부분에 티켓 번호를 쓰려고합니다.
#123 salt hashed passwords
git은 커밋 메시지에서 단순히 라인을 제거합니다. 해시를 피할 수있는 방법이 있습니까? 나는 시도 \
하고 !
, 그러나 아무것도 작동하지 않습니다. 이전의 공백 #
은 유지되므로 문제에 대한 해결책이 아닙니다.
이 동작은 git commit
'기본'정리 '동작의 일부입니다 . 라인을 계속 시작 #
하려면 다른 정리 모드를 사용할 수 있습니다.
예 :
git commit --cleanup=whitespace
이렇게하면 #
커밋에 표시하고 싶지 않은 모든 행 을 제거해야 합니다.
git1.8.2 (2013 년 2 월) 부터 #
커밋 메시지의 주석 처리 된 행에 ' '와 다른 문자를 사용할 수 있습니다 .
그러면 #
버그 번호 참조에 ' ' 를 사용할 수 있습니다 .
편집기에서 메시지를 편집하도록 사용자에게 요청할 때 Git이 제공하는 다양한 "힌트"라인은
#
기본적 으로 ' '로 주석 처리됩니다 .
core.commentChar
구성 변수는이 '를 사용자 정의하는 데 사용할 수있는#
다른 문자로'.
이론적 으로 단어 (여러 문자)를 넣을 수 는 core.commentChar
있지만 git 2.0.x / 2.1이 더 엄격해질 것입니다 (2014 년 3 분기).
참조 50b54fd 커밋 에 의해 (응웬 타이 응옥 두이 pclouds
) :
구성 : core.commentChar에 엄격해야합니다.
우리는 주석 문자열을 지원하지 않습니다 (적어도 아직은 아닙니다). 그리고 멀티 바이트 문자 인코딩도 잘못 해석 될 수 있습니다.
두 개의 쉼표가있는 테스트는이를 위반하므로 업데이트됩니다. eff80a9 (커스텀 "comment char" -2013-01-16 허용)에 도입
core.commentChar
된 패치와 함께 추가되었습니다 . 왜 그런 행동이 필요한지 분명하지 않습니다 .
git 2.0.x / 2.1 (Q3 2014)은 다음에 대한 자동 선택을 추가합니다 core.commentChar
. 커밋 84c9dc2
참조
때
core.commentChar
"입니다auto
", 주석의 char '로 시작하는#
기본에서와 같이'이지만 준비된 메시지에 이미있는 경우, 작은 부분 집합의 다른 문자를 찾을 수 있습니다. 자식이 예기치 않게 일부 줄을 제거하기 때문에 놀라움을 멈추어야합니다.git은
#
사용자 정의 템플릿에서 ' '를 주석 문자로 인식 하고 최종 주석 문자가 다른 경우 변환하기에 충분히 똑똑하지 않습니다 .
커밋 메시지의 일부로 사용자 정의 템플릿의 '#'행을 생각합니다. 따라서이 템플릿을 사용자 정의 템플릿과 함께 사용하지 마십시오.
"auto"후보 문자 목록은 다음과 같습니다.
# ; @ ! $ % ^ & | :
이는 커밋 메시지에 ' '가 사용 되었기 때문에 이와 같은 명령 git commit -m '#1 fixed issue'
이 commentChar를 ' ;
'로 자동 전환 한다는 것을 의미 #
합니다.
여기에 대한 답변은 훌륭하고 상세하지만 git config 옵션을 사용자 정의하는 것과 같은 git noob의 경우 그렇게 분명하지 않습니다. 다음은 주석 문자 에서 #
로 변경하는 예입니다 ;
.
git config core.commentChar ";"
그게 당신이해야 할 전부입니다.
명령 행 옵션을 사용할 수 있습니다 -m
.
git commit -m "#123 fixed"
대화식 리베이스를 수행하는 경우 커밋 메시지를 아무것도 저장하지 않으면 ( #
처음에는 주석을 작성했기 때문에 무시되었으므로) git은 수행 할 작업을 보여줍니다.
Aborting commit due to empty commit message.
Could not amend commit after successfully picking 5e9159d9ce3a5c3c87a4fb7932fda4e53c7891db... 123 salt hashed passwords
This is most likely due to an empty commit message, or the pre-commit hook
failed. If the pre-commit hook failed, you may need to resolve the issue before
you are able to reword the commit.
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
따라서 메시지를 수정하십시오.
git commit --amend -m "#123 salt hashed passwords"
리베이스를 계속하십시오 :
git rebase --continue
git commit --cleanup=scissors
사용되어야한다. 2014.05.21 에 Git v2.0.0 에 추가되었습니다.
...에서 git commit --help
--cleanup=<mode>
scissors
Same as whitespace, except that everything from (and including) the line
"# ------------------------ >8 ------------------------" is truncated if the message
is to be edited. "#" can be customized with core.commentChar.
티켓 번호에 다른 접두사를 사용하십시오. 또는 "버그 # 42"와 같이 티켓 번호 앞에 단어를 추가하십시오. 또는 단일 공백 문자를 줄 앞에 추가하십시오. 해당 공백을 제거하려면 커밋 후크를 추가하십시오.
나는 개인적으로 후크에 의해 수행되는 이러한 종류의 커밋 메시지 조작을 원하지 않을 것입니다. 가장 쉬운 해결책은 아마도 문제를 다시 생각하는 것입니다.
모든 커밋은 다음과 #issueNumber
같이 시작합니다 vim .git/hooks/commit-msg
.
NAME=$(git branch | grep '*' | sed 's/* //')
echo "$NAME"' '$(cat "$1") > "$1"
이제 분기 #15
가 있고 커밋 메시지를 작성 한다고 가정 해 봅시다 add new awesome feature
. 이 방법을 사용하면 최종 커밋 메시지가됩니다 #15 add new awesome feature
.
참고 URL : https://stackoverflow.com/questions/2788092/start-a-git-commit-message-with-a-hashmark
'Programing' 카테고리의 다른 글
JavaScript 객체의 크기를 얻는 방법? (0) | 2020.03.31 |
---|---|
병합되지 않은 Git 브랜치를 찾으십니까? (0) | 2020.03.31 |
Moq에서 out / ref 파라미터 지정 (0) | 2020.03.31 |
밑이 2 진 문자열을 int로 변환 (0) | 2020.03.31 |
기능적 요구 사항과 비 기능적 요구 사항의 차이점은 무엇입니까? (0) | 2020.03.31 |