Git HEAD과 masterGit 의 차이점은 무엇입니까 ?
GitHub에서 프로젝트 복제본을 만들고 변경 사항을 원격으로 푸시하고 싶습니다. 그러나 어느 쪽을 밀어야합니까?

Git HEAD과 masterGit 의 차이점은 무엇입니까 ?
GitHub에서 프로젝트 복제본을 만들고 변경 사항을 원격으로 푸시하고 싶습니다. 그러나 어느 쪽을 밀어야합니까?

답변:
master분기의 끝에 대한 참조입니다. 관례에 따라 (그리고 기본적으로) 이것은 일반적으로 주요 통합 브랜치이지만 반드시 그럴 필요는 없습니다.
HEAD실제로 다른 참조를 가리키는 특수한 유형의 참조입니다. 가리 키 master 거나 가리 키지 않을 수 있습니다 (현재 체크 아웃 된 분기를 가리 킵니다). master브랜치에 커밋하려는 것을 알고 있다면 이것을 푸시하십시오.
다음은 시각적 예입니다.

자신의 저장소에서 다음 HEAD을 실행 하여 가 가리키는 위치를 확인할 수 있습니다 .
$ git symbolic-ref HEAD
refs/heads/master
그러나 remotes/origin/HEAD원격 시스템에 있기 때문에를 가리키는 위치를 찾는 것이 더 까다 롭습니다.
git 참조에 대한 훌륭한 튜토리얼이 있습니다.
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
간단한 대답은 HEAD현재있는 지점의 가장 최근 커밋에 대한 포인터 / 레이블입니다. mastergit 저장소를 초기화 할 때 생성 된 기본 분기입니다 (예 :) git init.
master분기 를 삭제할 수 있습니다 (예 :) git branch -D master. HEAD포인터를 삭제할 수 없습니다 .
HEAD는 현재있는 지점의 가장 최근 커밋에 대한 포인터 / 라벨입니다." 나는 이것이 오도라고 생각합니다. 이전 커밋을 체크 아웃하면 HEAD는 이제 최신 커밋이 아닌 이전 커밋에 대한 포인터입니다. 권리?
checkout명령은 다른 일반적인 SCM 시스템에서 분기를 전환하는 것과 같습니다.
HEAD포인터가 실제로 무엇인지 더 잘 이해하려는 사람들에게 환상적인 설명이라고 생각합니다 . 귀하의 의견에 감사 드리며 다른 사람들도 그렇게 생각합니다. 내 원본 게시물의 내용과 후속 의견이 서로 보완됩니다. 감사.
현재 지점의 변경 사항을 푸시하면됩니다.
git push origin
분기 ' B'변경 사항을 ' origin/B'으로 푸시합니다 .
당신이 당신의 master지점 에 있다면 , 자식은으로 푸시됩니다 origin/master.
실제로는에 일치하는 원격 분기가있는 로컬 분기의 모든 변경 사항을 푸시합니다 origin. 구성 설정 push.default에 의해 제어됩니다 . Pro Git 책에서 RefSpecs 푸시
도 참조하십시오 .
당신이보고있는 것은에서 원격 환매 특약의 모든 refspecs 나타내는 사이드 바있다 실험 GitX 포크 의 GitX 프로젝트를 .

는 HEAD해당 원격에 대한 기본 분기를 지정합니다.
참조 git remote set-head맨 페이지를 :
리모트에 대한 기본 분기가 필요하지는 않지만 특정 분기 대신 리모트의 이름을 지정할 수 있습니다.
기본 분기를 위해이 예를 들어,origin설정되어master, 다음origin을 지정할 수 있습니다 당신은 일반적으로 지정합니다 곳origin/master.