깃 브랜치 -r을 실행하면 왜 블레이즈에
origin/HEAD가 표시되나요? 예를 들어 GitHub에 마스터 브랜치와 awesome-feature 브랜치 두 개가 있는 원격 리포지토리가 있다고 가정해 봅시다. 내가
git clone`을 실행하여 리포지토리를 가져온 다음 새 디렉토리로 이동하여 브랜치를 나열하면 다음과 같이 표시됩니다:
$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature
또는 어떤 순서로든 (알파? 이 예제는 무고한 리포지토리의 신원을 비밀로 유지하기 위해 가짜로 만들었습니다). 그렇다면 HEAD
비즈니스는 무엇일까요? 마지막으로 '푸시'한 사람이 '푸시'할 때 '헤드'를 가리키는 것일까요? 아니면 항상 그들이 '밀었던' 것이 무엇이든 간에? '헤드'가 이리저리 움직이는데... 다른 기계에서 누군가의 '헤드'가 무엇을 가리키는지 내가 왜 신경 써야 할까요?
원격 추적 등에 대해 이제 막 알아가는 중이라 혼란스럽습니다. 고마워요!
편집: 저는 전용 원격 리포지토리(예: 아무도 ssh로 들어가서 해당 코드를 작업하지 않고 끌어오거나 밀어 넣기만 하는 GitHub 등)에는 기본적으로 작업 복사본이 없기 때문에 HEAD가 없고 있어서는 안 된다는 인상을 받았습니다. 그렇지 않나요?
깃 (git) 에서 기본적으로 체크아웃됩니다 분기로의 선택할 수 있습니다 (즉 때는사용할 클론할). 기본적으로 / 헤드 '가' 그 시점에서 iqn.
깃허브 대한 [변경할 수 있습니다] (https://github.com/blog/421-pick-your-default-branch) 에서 관리 설정을 깃허브 리포. Do it 를 통해 명령줄이 수도 있습니다.
git remote set-head origin trunk
이를 통해 모두 삭제할지를
git remote set-head origin -d
[예] (https://github.com/apache/ant). # 39, & # 39, 스위치 Branches& 봐 드롭다운을. 트렁크 (trunk '' 그 '때문에' 헤드 '/' 검사됩니다 다음과 같다.
>. 난) 이 인상을 >. 전용 원격 레포스 (그것을비유하사 깃허브 >. 아무도 없을 ssh 에 대한 일할 수 있는 >. 단, 또는 그 코드를 당기십시오 누름식 등) >. # 39, t, t # 39 didn& shouldn& 머리요 있다. >. 때문에, 기본적으로 있었다 없었다. >. 아직 apc® 알아들었니??
내가 경식도 동일한 횡격막탈장의 같은 느낌을 준다.
그리고 난 심지어 그 원격입니다 추적 branch 에서 수행여 깃허브 클론된 / 헤드에게 있는 삭제할 수 없습니다.
git branch -d -r origin/HEAD
이 효과는 없었다.
내가 어떻게 할 수 있는 출처 / 헤드입니다 원격입니다 추적 branch 1 정도의 말해보게나 삭제할 수 있습니다.
하지만, 제가 그 이유를 찾을 수 있을 때 생성된 클론할 않았다 / 헤드에게 충스러웠으니 깃허브, 나는 방법을 찾기 위해 삭제해줘
깃 (git) 을 통해 새로운 버전의
git remote set-head <name> -d
쓸모없는 헤드에게 원격입니다 추적 branch 포인터입니다 삭제할 수 있다.
git remote rename origin <new_name>
ᄋ "이번 도움이 될 수 있습니다. )
전용 원격 리포지토리로 푸시하는 것이 '베어' 상태, 즉 작업 디렉터리가 없을 때 훨씬 더 잘 작동한다는 것은 맞습니다. Git의 아키텍처는 패치 또는 풀
(페치
)을 통한 업데이트를 위해 설계되었으며, 이는 분산된 VCS에서 의미가 있습니다. 문서 어딘가에 나와 있듯이 현재 체크 아웃된 브랜치로 푸시하면 '예기치 않은 결과'가 발생할 수 있습니다.
HEAD는 유효한 리포지토리에 대한 요구 사항의 일부입니다. Git 리포지토리 레이아웃에 부분적으로 나와 있습니다:
HEAD
A symref (see glossary) to the refs/heads/ namespace describing the currently active
branch. It does not mean much if the repository is not associated with any working tree
(i.e. a bare repository), but a valid git repository must have the HEAD file; some
porcelains may use it to guess the designated "default" branch of the repository
(usually master). It is legal if the named branch name does not (yet) exist.
따라서 '별 의미는 없지만...'이라고 해도 브랜치 목록의 일부로 HEAD를 보게 될 것이다;
만약 " origin"; 그 후 는 원격 리포지토리와 / 헤드입니다 식별됩니다 기본값입니다 있는 분기로의 원격 리포지토리를.
예:
$ git remote show
origin
$ git remote show origin
* remote origin
Fetch URL: [email protected]:walkerh/pipe-o-matic.git
Push URL: [email protected]:walkerh/pipe-o-matic.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
선 기록하십시오 한다고 " 헤드 분기로의: master". 여기가 원격 리포지토리를 클라이언트뿐 드라이버로의 체크아웃합니다 기본적으로 알 수 있습니다.