이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 git-check-ref-format 명령입니다.
프로그램:
이름
git-check-ref-format - 참조 이름이 올바른 형식인지 확인합니다.
개요
자식 체크-참조-형식 [--정규화]
[--[no-]허용-한레벨] [--refspec-pattern]
자식 체크-참조-형식 --나뭇가지
기술
주어진 것인지 확인합니다. 참조 이름 허용 가능하며, 그렇지 않은 경우 XNUMX이 아닌 상태로 종료됩니다.
참조는 Git에서 분기와 태그를 지정하는 데 사용됩니다. 지점 헤드는
refs/heads 계층 구조, 태그는 refs의 refs/tags 계층 구조에 저장됩니다.
네임스페이스(일반적으로 $GIT_DIR/refs/heads 및 $GIT_DIR/refs/tags 디렉토리 또는
git gc로 참조가 패킹된 경우 $GIT_DIR/packed-refs 파일의 항목입니다.
Git은 참조 이름 지정 방법에 대해 다음 규칙을 적용합니다.
1. 계층적(디렉토리) 그룹화를 위해 슬래시 /를 포함할 수 있지만 슬래시로 구분할 수는 없습니다.
구성 요소는 점으로 시작할 수 있습니다. 또는 .lock 시퀀스로 끝납니다.
2. 최소한 하나는 포함해야 합니다. /. 이는 다음과 같은 카테고리의 존재를 강제합니다.
헤드/, 태그/ 등이 있지만 실제 이름은 제한되지 않습니다. --allow-onelevel인 경우
옵션을 사용하면 이 규칙이 적용되지 않습니다.
3. 두 개의 연속된 점은 .. 어디에도 있을 수 없습니다.
4. ASCII 제어 문자(예: 값이 다음보다 낮은 바이트)를 가질 수 없습니다.
\040 또는 \177 DEL), 공백, 물결표 ~, 캐럿 ^ 또는 콜론: 어디든 가능합니다.
5. 물음표 ?, 별표 * 또는 여는 괄호 [를 어디에도 사용할 수 없습니다. 참조
이 규칙에 대한 예외에 대한 아래의 --refspec-pattern 옵션입니다.
6. 슬래시로 시작하거나 끝날 수 없습니다. 또는 여러 연속 슬래시를 포함할 수 없습니다(참조:
이 규칙에 대한 예외를 보려면 아래의 --normalize 옵션을 사용하세요)
7. 점으로 끝날 수 없습니다 ..
8. @{ 시퀀스를 포함할 수 없습니다.
9. @라는 단일 문자는 사용할 수 없습니다.
10. \를 포함할 수 없습니다.
이러한 규칙을 사용하면 쉘 스크립트 기반 도구가 참조 이름, 경로 이름을 쉽게 구문 분석할 수 있습니다.
(실수로) 참조 이름이 인용되지 않은 채로 사용될 때 쉘에 의한 확장
특정 참조 이름 표현의 모호함(참조 gitrevisions(삼)):
1. 이중 점 ..은 ref1..ref2에서와 같이 자주 사용되며 일부 상황에서는 이 표기법이 사용됩니다.
^ref1 ref2를 의미합니다(즉, ref1 및 ref2에는 없음).
2. 물결표 ~와 캐럿 ^은 접미사를 소개하는 데 사용됩니다. n 번째 부모의 와 껍질 양파
작동.
3. 콜론 : srcref:dstref에서와 같이 "srcref의 값을 사용하고 다음 위치에 저장함"을 의미하는 데 사용됩니다.
가져오기 및 푸시 작업의 dstref"입니다. 특정 개체를 선택하는 데에도 사용할 수 있습니다.
와 같은 자식 고양이 파일: "git cat-file blob v1.3.3:refs.c".
4. at-open-brace @{는 reflog 항목에 액세스하기 위한 표기법으로 사용됩니다.
--branch 옵션을 사용하면 "이전 분기 구문" @{-n}을 확장합니다. 예를 들어,
@{-1}은 마지막으로 있었던 분기를 참조하는 방법입니다. 이 옵션은 다음에서 사용해야 합니다.
도자기는 지점 이름이 예상되는 모든 곳에서 이 구문을 허용하므로 마치
지점 이름을 입력했습니다.
옵션
--[no-]허용-한레벨
단일 레벨 참조 이름이 허용되는지 여부를 제어합니다(예: 다음을 포함하지 않는 참조 이름).
여러 개의 /로 구분된 구성요소). 기본값은 --no-allow-onelevel입니다.
--refspec-패턴
해석하다 refspec에 대한 참조 이름 패턴으로(remote와 함께 사용됨)
저장소). 이 옵션이 활성화된 경우, 단일 *를 포함할 수 있습니다.
refspec에(예: foo/bar*/baz 또는 foo/bar*baz/, foo/bar*/baz*는 아님).
--정규화
정규화 참조 이름 선행 슬래시(/) 문자를 제거하고
이름 구성 요소 사이의 인접한 슬래시를 단일 슬래시로 만듭니다. 정규화된 경우
refname이 유효하면 표준 출력으로 인쇄하고 상태 0으로 종료됩니다.
(--print는 --normalize의 철자를 더 이상 사용하지 않는 방법입니다.)
사용 예
· 이전 지점의 이름을 인쇄합니다:
$ git check-ref-format --branch @{-1}
· 새 분기에 사용할 참조 이름을 결정합니다.
$ ref=$(git check-ref-format --normalize "refs/heads/$newbranch") ||
die "우리는 브랜치 이름으로 '$newbranch'를 좋아하지 않습니다."
GIT
의 일부 자식(1) 스위트
onworks.net 서비스를 사용하여 온라인으로 git-check-ref-format 사용