캐럿(^) 문자는 Git에서 무엇을 의미합니까?
삭제된 파일을 복원하는 데 도움이 되는 질문에 대한 답을 여기서 보았습니다.
해결책은
git checkout <deleting_commit>^ -- <deleted_file_path>
캐럿 문자란 무엇입니까?^
다른 곳에서 아주 유용한 일을 하는 걸 봤어요마법 같은 거죠.누가 나를 위해 그것을 망치고 나에게 그것이 무엇을 하는지 말해주세요?
HEAD^
현재 가지 끝의 첫 번째 부모를 의미합니다.
git 커밋에는 둘 이상의 부모가 있을 수 있습니다.HEAD^
의 줄임말.HEAD^1
, 그리고 당신은 또한 주소를 말할 수 있습니다.HEAD^2
적절한 경우 등을 고려해야 합니다.
부모님들께는 어떤 약속도 할 수 있고, 단지HEAD
. 세대를 거슬러 올라갈 수도 있습니다. 예를 들어,master~2
불확실한 경우 첫 번째 부모를 선호하는 마스터 브랜치 끝의 조부모를 의미합니다.이러한 지정자는 임의로 연결될 수 있습니다. 예를 들어,topic~3^2
. Git와 Git의 차이점은 무엇입니까?에 대한 관련 답변 참조
자세한 내용은 의 "수정사항 지정" 섹션을 참조하십시오.git rev-parse --help
.
'부모'라는 뜻이니까요HEAD^
"현재 헤드의 부모"를 의미합니다. 이들을 함께 연결할 수도 있습니다.HEAD^^
"현재 헤드의 부모"(즉, 현재 헤드의 조부모)를 의미합니다.HEAD^^^
"현재 헤드의 부모의 부모" 등을 의미합니다.
그^
범위를 지정할 때도 (caret)를 사용할 수 있습니다.
커밋에서 도달 가능한 커밋을 제외하기 위해 접두사 ^ 표기법이 사용됩니다.예를 들어 ^r1 r2는 r2에서 도달 가능한 커밋을 의미하지만 r1에서 도달 가능한 커밋은 제외합니다.
<rev>
(예: 의 조상)에서 도달할 수 있는 커밋을 포함합니다.
^<rev>
(예: 의 조상)에서 도달할 수 있는 커밋을 제외합니다.
여기 시각적인 설명이 있습니다.다음과 같은 이력이 있다고 가정합니다.
master
... <- B <- C <- D
/
... <- E <- F
feature
피쳐가 마스터에 병합되었을 때C
두 명의 조상과 함께 창조되었습니다.Git은 이 조상 번호를 할당합니다.주계열 조상B
1과 피쳐 상위에 할당됩니다.F
2가 할당됩니다.
따라서C^1
언급합니다.B
그리고.C^2
언급합니다.F
.C^
는 에 대한 별칭입니다.C^1
.
당신은 오직 사용할 것입니다.<rev>^3
. 3개의 가지를 병합한 경우.
캐럿은 특정 커밋의 상위를 나타냅니다.예.HEAD^
현재 HEAD 커밋의 상위를 가리킵니다.(또한,HEAD^^
조부모를 가리킵니다.
캐럿은 커밋 오프셋(부모)을 나타냅니다.그래서 예를 들면.HEAD^
과 "하나의 커밋"을합니다.HEAD^^^
"3개의 합니다.헤드에서 3개의 커밋"을 의미합니다.
(^)는 명령어의 상위 소스를 가져옵니다.HEAD^는 HEAD의 부모를 얻을 것입니다.
OP: 깃에서 캐럿(^) 문자는 무엇을 의미합니까?
^(Caret) 및 ~(Tilde) 선택기
의 차이 HEAD^
및 (케어)및HEAD~
(는를 역주행하는 이 에는 (Tilde)된서를는다우이드는우이(다ysywte된ns)etm(HEAD
.
틸데~
<rev>~[<n>]
선택=<n>th
세대 조상, 첫 번째 부모님만 있음*
캐럿 ^
<rev>^[<n>]
선택=<n>th
*첫째 부모는 항상 병합의 왼쪽입니다(예: 병합된 분기의 커밋).
~ 및 ^ 함께하기
아래 그림에서 보는 바와 같이 ~와 ^ 두 선택기를 조합하여 사용할 수 있습니다.또한 다음을 사용하는 것에 유의합니다.HEAD
시작점으로 분기, 태그 또는 커밋 해시와 같은 모든 정규 참조를 사용할 수 있습니다.
또한 ^와 ~를 선택하고자 하는 조상이 무엇인지에 따라 아래 표에서 보는 것과 같이 서로 바꿔 사용할 수 있습니다.
출처: 주제에 대한 자세한 내용은 이 블로그 게시물에서 확인할 수 있습니다.
그렉 베이컨은 훌륭한 연결고리를 제공했지만 꽤 밀도가 높습니다.온라인 Git 소개 문서에서는 개정 및 범위 지정자를 소개합니다.
https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
언급URL : https://stackoverflow.com/questions/1955985/what-does-the-caret-character-mean-in-git
'it-source' 카테고리의 다른 글
JAXB: XML 문서를 삭제하지 않는 동안 네임스페이스를 무시하는 방법은 무엇입니까? (0) | 2023.09.13 |
---|---|
스프링-부트가 1 대 다 연관된 무한 루프 (0) | 2023.09.13 |
설명 계획에서 비용, 카디널리티 및 바이트의 의미는 무엇입니까? (0) | 2023.09.13 |
파워셸 출력 숨기기 (0) | 2023.09.13 |
object.watch()를 모든 브라우저에 적용하시겠습니까? (0) | 2023.09.13 |