에서 소스 코드를 다운로드하고 싶습니다. a> Xilinx wiki 에 설명 된대로 git을 사용합니다.

이 작업을 시도했습니다.

#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git Initialized empty Git repository in /home/Hannan/master-next/.git/ fatal: remote error: Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name Email [email protected] for help 

실패한 경우에도 :

# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/ fatal: remote error: Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name Email [email protected] for help 

작동하는 명령은 다음과 같습니다.

 git clone git://github.com/Xilinx/u-boot-xlnx.git 

그러나 이것이 실제로 master-next branch 를 가져오고 마스터 브랜치 ? git을 사용하여 특정 브랜치를 올바르게 가져 오려면 어떻게해야하나요?

PuTTY를 통해 액세스하는 RHEL 6을 사용하고 있습니다.

Answer

오류 메시지가 알려주는 것처럼 git clone에는 git 저장소가 필요합니다. 이와 같은 경로에 브랜치 이름을 “추가”할 수 없습니다. git의 브랜치 를 참조하세요.

단일 브랜치 (및 해당 내역) : git clone <url> --branch <branch> --single-branch

git help clone를 참조하세요.

하지만 실행 한 복제 명령은 전체 저장소의 사본을 제공했습니다. git branch를 사용하여 기존 브랜치를 볼 수 있으며 git show-branch.

git checkout branch-name를 사용하여 원하는 분기로 전환합니다.

Pro Git 책 (온라인에서 사용 가능)은 기본 명령에 대한 자세한 내용을 제공합니다.

댓글

  • " 실행 한 복제 명령이 전체 저장소의 사본을 제공했습니다 " .whole 저장소는 두 분기가 병합되었음을 의미합니까?
  • 아니요 병합되지 않았습니다. git의 브랜치는 여기에 설명 된 처럼 전체 디렉토리의 사본이 아닙니다.
  • 내가 한 일은 다음과 같습니다. " git clone -b master-next github.com/Xilinx/u-boot-xlnx.git " 올바르지 않습니까?
  • 더 이상 복제가 필요하지 ' 없습니다. 질문에서 보여준 명령은 모든 브랜치가있는 저장소를 제공했습니다. 그러나 이것도 맞습니다. 복제 후 git checkout master-next를 수행하는 것과 ' 동일합니다.

답변

이 명령은 작동해야합니다.

$ git fetch origin [branch] 

위 명령은 원격 저장소에서만 메타 데이터를 가져 오며 가져 오지 않습니다. 소스를 병합합니다.

소스를 가져오고 병합하려는 경우 명령은 다음과 같습니다.

$ git pull origin [branch] 

병합 명령을 실행하고 있습니다. 출처가 병합되는 곳입니다.

댓글

  • 당신의 대답은 기술적으로 정확하지만 문법 검사 / 재-
  • 잘 작동합니다.

답변

git 저장소에는 모든 브랜치 ( 그러나 압축되고 차이 만 있으므로 크기 문제는 거의 발생하지 않습니다.)

따라서 성공적으로 수행 한대로 전체 프로젝트를 복제 할 수 있습니다. 이것은 하나의 브랜치에만 관심이 있더라도 저장소를 얻는 표준 방법입니다.

.git 구조는 해당 저장소에서 수행 된 브랜치를 모두 포함합니다.

특정 브랜치를 사용하려면 git checkout [branch_name] 브랜치가 존재하는 경우 파일을 로컬에서 사용할 수있게됩니다 (즉, 프로젝트 디렉토리의 현재 파일).

git status는 어떤 분기가 현재 분기인지 보여줍니다. 예를 들면 다음과 같습니다.

Leiaz에 따르면 특정 분기를 복제 할 수 있습니다. 실제로 나는 이것을 한 적이 없거나 다른 사람들이 그것을 사용하는 것을 본 적이 없습니다. 더 많은 연구에서 나는 이것이 상대적으로 새로운 것으로 git 1.7.10 (2012 년 4 월)에 추가되었습니다 : 복제를 제한하는 “git clone learn –single-branch”옵션 단일 브랜치로 (놀라운!), 브랜치의 기록을 가리 키지 않는 태그는 가져 오지 않습니다. 예 :

git clone -b master-next --single-branch git://github.com/Xilinx/ 

여기에 이미지 설명 입력 여기, “링커”애플리케이션의 경우 브랜치 v3.0.10

댓글

  • '도 한 번도 해본 적이 없으며 옵션을 본 기억이납니다. 그럴 것 같아요 ' 여분의 브랜치는 " 저렴한 " 크기로 거의 사용되지 않습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다