[git] 유효한 git 태그는 어떤 이름입니까?

[문자가 포함 된 태그를 만드는 동안 오류 메시지가 나타납니다 .

치명적 : ‘[‘은 유효한 태그 이름이 아닙니다.

질문 : git에 태그에 대한 규칙이 있습니까?



답변

이름이 유효한지 확인할 수 있습니다.

git check-ref-format

페이지 는 유효한 이름에 대한 제약을 포함합니다. 페이지에서 인용 (향후 구식 일 수 있음) :

  1. /계층 적 (디렉토리) 그룹화를 위해 슬래시 를 포함 할 수 있지만 슬래시로 구분 된 구성 요소는 점으로 시작 .하거나 시퀀스로 끝날 수 없습니다 .lock.

  2. 하나 이상의 /. 이 같은 범주의 존재 시행 heads/, tags/등을하지만, 실제 이름이 제한되지 않습니다. 경우 --allow-onelevel옵션을 사용,이 규칙은 면제됩니다.

  3. ..어디에도 두 개의 연속 된 점이있을 수 없습니다 .

  4. ASCII 제어 문자 (즉, 값이 \ 040 또는 \ 177보다 낮은 바이트 DEL), 공백, 물결표 ~, 캐럿 ^또는 콜론은 :어디에도있을 수 없습니다.

  5. 물음표 ?, 별표 *또는 여는 괄호는 [어디에도 사용할 수 없습니다 . --refspec-pattern이 규칙에 대한 예외는 아래 옵션을 참조하십시오 .

  6. 슬래시로 시작하거나 끝나 /거나 여러 개의 연속 된 슬래시를 포함 할 수 없습니다 ( --normalize이 규칙에 대한 예외는 아래 옵션 참조).

  7. 점으로 끝날 수 없습니다 ..

  8. 시퀀스를 포함 할 수 없습니다 @{.

  9. 단일 문자가 될 수 없습니다 @.

  10. 그들은을 포함 할 수 없습니다 \.

보시다시피 귀하의 경우 규칙 (5)을 위반했습니다.

--normalize플래그를 사용하여 슬래시와 관련하여 태그를 정규화 할 수 있습니다 (연속 슬래시 및 선행 슬래시 제거).

git check-ref-format --normalize "tags/weird//tag"

tags/일부 종은 당신이 검증됩니다 tag.

@NikosAlexandris와 약간의 토론을 마친 후 다음 한 줄을 작성하여 <some-tag>텍스트 피드백으로 태그를 확인할 수 있습니다 .

git check-ref-format "tags/<some-tag>" && echo "Valid tag" || echo "Invalid tag"


답변