Git에서 FETCH_HEAD는 무엇을 의미합니까?
git pull --help
다음과 같이 말합니다.
에서 기모 서에드본
git pull
는 의줄입니다말의 줄임말입니다.git fetch
에 뒤에git merge FETCH_HEAD
.
이것은 무엇인가…FETCH_HEAD
그리고 실제로 합병되는 것은git pull
?
FETCH_HEAD
원격 리포지토리에서 방금 가져온 내용을 추적하기 위한 수명이 짧은 참조입니다. git pull
최초호를 호출합니다.git fetch
; 일적인경원서분기에가져기오격우반;가기져오;FETCH_HEAD
이 분기의 끝을 가리킵니다(분기와 마찬가지로 커밋의 SHA1을 저장합니다). git pull
그러면 호출됩니다.git merge
합병FETCH_HEAD
현재 지점으로
결과는 바로 여러분이 예상하는 것과 같습니다. 적절한 원격 분기 끝에 있는 커밋이 현재 분기 끝에 있는 커밋에 병합됩니다.
이것은 약간 하는 것과 같습니다.git fetch
인수없또(으)로 표시) 없이git remote update
분기를 한 후 ), 를 참조하십시오.git merge origin/<branch>
하지만 사용하기FETCH_HEAD
내부적으로 이름을 지정할 필요 없이 단일 ref가 가져온 것을 참조합니다.
FETCH_HEAD는 마지막 가져오기의 팁에 대한 참조이며, 이 가져오기가 fetch 명령을 사용하여 직접 시작되었는지 아니면 풀의 일부로 시작되었는지 여부를 나타냅니다.은 FETCH_HEAD 파일에 됩니다..git
한 파일의 이있는폴더에때름을추, 이측했당신일파,▁in때,▁folder당추을했▁named.FETCH_HEAD
.
그래서 내가 발표하면,
git fetch https://github.com/ryanmaxwell/Fragaria
FETCH_HEAD는 다음을 포함할 수 있습니다.
3cfda7cfdcf9fb78b44d991f8470df56723658d3 https://github.com/ryanmaxwell/Fragaria
원격 repo가 원격 추적 분기로 구성되어 있으면 추적 분기의 병합으로 내 가져오기를 추적할 수 있습니다.그렇지 않으면 FETCH_HEAD를 사용하여 마지막 가져오기의 팁을 직접 병합할 수 있습니다.
git merge FETCH_HEAD
Jonathan의 답변에서 언급한 것처럼 FETCH_HEAD는 파일에 해당합니다..git/FETCH_HEAD
일반적으로 파일은 다음과 같습니다.
71f026561ddb57063681109aadd0de5bac26ada9 branch 'some-branch' of <remote URL>
669980e32769626587c5f3c45334fb81e5f44c34 not-for-merge branch 'some-other-branch' of <remote URL>
b858c89278ab1469c71340eef8cf38cc4ef03fed not-for-merge branch 'yet-some-other-branch' of <remote URL>
하나를 제외한 모든 분기가 표시되는 방식을 기록합니다.not-for-merge
특이한 것은 가져오기 전에 체크아웃된 지점입니다.요약: FETCH_HEAD는 기본적으로 현재 체크아웃된 분기의 원격 버전에 해당합니다.
나는 방금 발견하고 사용했습니다.FETCH_HEAD
의 로컬 , 저는 .
git fetch gitserver release_1
gitserver
Git 저장소를 저장하는 내 컴퓨터의 이름입니다. release_1
는 소프트웨어 버전에 대한 태그입니다. 놀게도랍,release_1
제 지역 컴퓨터에서는 찾을 수 없었습니다.입력해야 했습니다.
git tag release_1 FETCH_HEAD
태그가 지정된 일련의 커밋(release_1)을 원격 리포지토리에서 로컬 리포지토리로 복사합니다.Fetch가 원격 태그를 찾아 커밋을 로컬 컴퓨터에 복사하고 로컬 태그를 만들지 않았지만 설정했습니다.FETCH_HEAD
내가 그것을 찾고 사용할 수 있도록 커밋의 가치에 맞게. 저는 습다니했사를 했습니다.FETCH_HEAD
원격의 태그와 일치하는 로컬 태그를 만듭니다.그것은 무엇에 대한 실용적인 예시입니다.FETCH_HEAD
그것이 어떻게 사용될 수 있는지, 그리고 왜 gitfetch가 순진하게 기대하는 것을 하지 않는지 궁금해하는 다른 사람에게 유용할 수 있습니다.
내 생각에 그것은 그 목적을 위해 피하는 것이 가장 좋고 내가 하려고 했던 것을 성취하기 위한 더 나은 방법입니다.
git fetch gitserver release_1:release_1
즉, release_1을 가져와 release_1을 로컬로 호출합니다. (source:dest입니다. 다른 이름을 지정하고 싶을 때는 https://git-scm.com/book/en/v2/Git-Internals-The-Refspec; 을 참조하십시오.
사할수 다있니습을 사용하는 것이 좋을 입니다.FETCH_HEAD
하만때때로지-:-
git fetch gitserver bugfix1234
git cherry-pick FETCH_HEAD
Git 서버에서 버그 수정 번호 1234를 사용하고, 수정이 현재 분기에 체리 픽업되면 Git의 가비지 컬렉션에서 서버의 복사본을 폐기하는 좋은 방법이 될 수 있습니다. (서버에 버그 수정 전체가 포함된 멋진 태그 지정 커밋이 있을 것입니다!)
FETCH_HEAD
원격 리포지토리에서 방금 가져온 내용을 추적하기 위한 수명이 짧은 참조입니다.
사실... 항상 고려하는 것은 아닙니다. Git 2.29(2020년 4분기)를 통해 ""라고 배웠습니다.git fetch
(man)--no-write-fetch-head
옵션는을 쓰지 FETCH_HEAD
java.
주니오 C 하마노()gitster
의 커밋 887952b(2020년 8월 18일)를 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- commit b556050, 2020년 8월 24일)
fetch
선택적으로 사용 안 함 허용FETCH_HEAD
update사인 오프 바이: 데릭 스톨리
를 원격 분기에 , ) merge fetch를 실행한 후 fetch를 병합하는 경우).
origin/branchname
'', '아니다', '아니다', '아니다', '아니다'가 없어도 .FETCH_HEAD
조금도.""명령줄 옵션"을
git fetch
(man)티칭합니다.--[no-]write-fetch-head
".
- 은 " 은쓰니다입기기값"입니다.
FETCH_HEAD,
이 고옵와주로은사 " 리함됩니용다께그션와▁the다니사▁"됩▁is▁and▁with▁meant용▁option그▁the▁used▁be"와 함께 사용하는 합니다.--no-
하는 일하는항 없기 에 이fetch.writeFetchHEAD
기본값을 off로 전환하는 구성 변수(이 경우 양의 형식이 기본값을 해제하는 데 필요할 수 있음).로 " 고에: " 서참서"에 있습니다.
--dry-run
모드,FETCH_HEAD
기록되지 않습니다. 그렇지 않으면 실제로 가지고 있지 않은 개체 목록이 파일에 표시됩니다.싱패
--write-fetch-head
로 강하지않음제음▁force않▁does[
](https://github.com/git/git/blob/887952b8c680626f4721cb5fa57704478801aca4/Documentation/git-fetch.txt)<sup>([man](https://git-scm.com/docs/git-fetch))</sup>
파일을 작성합니다.
fetch-options
이제 관리 페이지에 다음 항목이 포함됩니다.
--[no-]write-fetch-head
서가 원격 목록작성에서 가져온 합니다.
FETCH_HEAD
로밑에철다 바로 합니다.$GIT_DIR
.
기본값입니다.싱패
--no-write-fetch-head
명령행에서 Git에게 파일을 쓰지 말라고 말합니다.--dry-run
파일이 기록되지 않는 옵션입니다.
2), 또한, Git 2.29 (2020년 4분기)에도 Git 2.29 (2020년 4분기),FETCH_HEAD
이제 사용 중인 참조 백엔드에 관계없이 파일 시스템에서 항상 읽혀집니다. 이는 사용 중인 참조 백엔드의 형식이 일반 참조보다 훨씬 풍부하고 ""에 git fetch
(man)의해 일반 파일로 직접 작성되기 때문입니다.
위원회 811530, 커밋 5085 aef, 커밋 4877c6c, 커밋 39620f(2020년 8월 19일)를 한웬 니엔휴스()hanwen
가 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 커밋 98df75b, 2020년 8월 27일)
refs
독서를FETCH_HEAD
그리고.MERGE_HEAD
사인 오프 바이: 한웬 니엔휴스
그
FETCH_HEAD
그리고.MERGE_HEAD
refs는 ref 백엔드 유형에 관계없이 파일에 저장되어야 합니다.이것은 그들이 단일 심판 이상을 잡을 수 있기 때문입니다.백엔드를 .
refs_read_raw_ref()
.
Git 2.29(2020년 4분기)를 통해 느슨하게 복제된 저장소의 주문형 가져오기 코드 업데이트.
커밋 db3c293(2020년 9월 2일), 커밋 9dfa8db, 커밋 7ca3c0a, 커밋 5c3b801, 커밋 abc7ee, 커밋 5b9421, 커밋 2b713c2, 커밋 cbe566a(2020년 8월 17일)를 Jonathan()jhowtan
에 의해 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- commit b4100f3, 2020년 9월 3일)
fetch
아니FETCH_HEAD
if --no-write-write-head사인 오프 바이: 조나단 탄
887952b8c6("
fetch
으로 선적으 함허용 사용 안 함을 합니다.FETCH_HEAD
update", 2020-08-18, Git v2.29.0 -- 배치 #10에 나열된 병합)에 쓰기를 비활성화하는 기능을 도입했습니다.FETCH_HEAD
가져오는 동안, 그러나 "를 억제하지 않았습니다.<source> -> FETCH_HEAD"
메시지를 표시합니다.이 경우 이 메시지는 오해의 소지가 있습니다.
FETCH_HEAD
기록되지 않았습니다." 한하, 면냐왜" 때문입니다.
fetch
부분 클론에서 누락된 개체를 느리게 처리하는 데 사용되며, 이 경우 가져올 개체가 수가 많기 때문에 출력이 상당히 복잡해집니다.따라서 다음과 같은 경우 이 메시지를 표시하지 않습니다.
--no-write-fetch-head
단, 통그됨때아(님나는과러그아)님때(▁when는▁is)일 때는 아님).--dry-run
설정됨).
Git 2.41(2023년 2분기)에서는 이 옵션이 적절하게 전파됩니다.
에릭 ele828
웡()의 커밋 15184ae(2023년 3월 8일)를 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 947604d, 2023년 3월 19일 커밋)
fetch
패스--no-write-fetch-head
프로세스사인 오프 바이: 에릭 웡
사용자는 단일 원격에서 가져오든, 많은 원격에서 가져오든, 하위 모듈로 다시 가져오든 상관없이 이 옵션이 작동할 것으로 예상합니다.
git pull은 fetch와 merge의 조합입니다.git fetch가 발생하면 FETCH_HEAD에서 가져온 항목의 헤드 커밋(.git에서 해당 이름을 가진 파일만 해당)을 기록하고 이러한 커밋은 작업 디렉토리에 병합됩니다.
가능하다면 제가 이것에 기여하도록 하겠습니다.
제가 일하고 있는 지점에 변경 사항이 있는지 리모트에 이미지로 문의했습니다.FETCH가 * branch back_end -> FETCH_HEAD를 알려주었습니다.
그리고 나서 나는 풀을 요청했고, 내 로컬 지점에 모든 NEW on REMOTE(GITHUB)를 가져오려고 했습니다(이름이 back_end와 같습니다).
GIT는 저에게 --->> FETCH_HEAD를 알려주었습니다. 이는 모든 것이 이미 업데이트되었고 이전에 FETCH 지침이 알려준 것과 동일한 정보인 REMOTE BRANCH에서 업데이트할 내용이 있음을 의미합니다.
GitHub에서 직접 변경하여 만든 (패치) 분기를 풀려고 했습니다.지점은 GH에만 표시되었습니다.제가 잡아당기려고 했을 때, 나뭇가지가 나타나지 않았습니다.
다음을 사용하여 지점을 체크아웃할 수 있었습니다.
git fetch origin pull/2/head
git checkout -b <desired-branch-name> FETCH_HEAD
언급URL : https://stackoverflow.com/questions/9237348/what-does-fetch-head-in-git-mean
'sourcecode' 카테고리의 다른 글
VB의 문자열에서 공백을 제거합니다.그물 (0) | 2023.05.14 |
---|---|
Html의 차이점은 무엇입니까?부분(뷰, 모델) 및 Html.MVC2에서 부분 렌더링(뷰, 모델)? (0) | 2023.05.14 |
이클립스에서 블록에 대한 의견을 어떻게 제시합니까? (0) | 2023.05.14 |
문자열에서 발생한 특정 문자 수 (0) | 2023.05.14 |
보기가 창 계층 구조에 없는 UIViewController를 UIViewController에 표시하려고 합니다. (0) | 2023.05.14 |