이 기사는 Git 튜토리얼에서 git pull과 git clone의 차이점에 대한 지식을 제공합니다.
인터넷에서는 풀(Pull)과 클론(Clone)의 차이점을 설명하는 사람들이 많습니다. 풀(Pull)은 로컬 코드를 업데이트하는 것이고, 클론(Clone)은 로컬 코드를 처음부터 생성하는 과정이라고 합니다. 그런데 한 가지 언급되지 않은 것이 있습니다. 오늘 또 이런 문제가 발생했습니다. 예전에는 원격 창고에서 직접 Pull을 했었는데, 오늘 갑자기 Pull을 사용할 수 없고 Clone이 적용된다는 것을 깨달았습니다. 녹음하기로 결정했습니다.
1 git pull
git pull은 로컬 코드가 있는지 여부에 관계없이 사용자가 권한을 가진 저장소에서 코드를 가져오는 데 적합합니다.
저는 보통 git pull을 통해 직접 코드를 가져오기 때문이죠.
1.1 권한이 있는 창고
권한이 있는 창고는 내가 사용할 수 있는 창고 또는 팀 내 창고를 의미합니다.
git pull을 사용하려면 먼저 원격 저장소에 연결되어 있는지 확인해야 합니다. 그렇지 않고 직접 git pull Origin master를 실행하면 Github에서 "어떤 마스터인가요? 어떤 마스터인가요? 당신이 내 마스터인가요?"라고 묻습니다.
그러므로 먼저 원격 저장소에 연결해야 합니다.
init는 .git 외에는 아무것도 없는 빈 로컬 웨어하우스를 초기화합니다.
원격 웨어하우스에 연결
1.1.1 로컬 코드 없음
git 원격 -v는 현재를 표시하는 데 사용됩니다. 로컬 웨어하우스 연결 여러 원격 저장소에 연결할 수 있습니다. 그런 다음 창고는 업로드용과 풀다운용으로 쌍으로 존재합니다. 저는 보통 앞의 출발지를 원격창고 이름, 뒤의 것을 연결방식이라고 부릅니다.
이제 Origin이라는 Github 원격 저장소에 연결되었음을 알 수 있습니다.
빈 창고에서 직접 git pull을 사용하여 코드를 가져옵니다.
1.1.2 지역코드
지역코드가 있으면 어떻게 되나요?
팀워크, 하나의 창고를 여러 사람이 사용
자신만의 창고를 여러 대의 컴퓨터에서 사용(예: 기숙사에 하나, 연구실에 하나)
git이 필요한 이유 당기다? 코드 버전은 컴퓨터마다 다릅니다. 따라서 작업을 줄이고 일관된 코드 버전을 보장하려면 코드를 작성할 때마다 코드를 풀다운하세요. 작성 후 원격 저장소로 푸시합니다. 설명하기 위해 그림을 그립니다.
1.2 내가 권한이 없는 창고
내가 권한이 없는 창고는 남의 창고를 말합니다. 물론 다른 사람이 권한을 부여하지 않으면 마음대로 코드를 수정할 수 없습니다.
Git pull은 허가 없이 창고에 사용할 수 없습니다. 예:
오늘은 평소대로 코드를 다운로드했습니다. 하지만 다른 사람의 코드를 다운로드한 것은 이번이 처음입니다.
평소처럼 저장소 링크를 추가하고 git pull down을 실행합니다. 하지만 그는 나에게 다음과 같은 메시지를 표시했습니다.
권한이 거부되었습니다(공개 키).
치명적: 원격 저장소에서 읽을 수 없습니다.
올바른 액세스 권한이 있고 저장소가 존재하는지 확인하세요.
권한 거부는 SSH 키를 사용할 수 없음을 의미합니다. 사용하려면 접근 권한이 있는지, 이 창고가 존재하는지 확인하겠습니다.
창고가 존재합니다. 그러니 허락을 받아서는 안 됩니다.
3단계 작업 설명:
원격 창고 추가, SSH로 연결
웨어하우스의 마스터 브랜치에서 코드를 내려
추가한 원격 창고 삭제( 쓸 수 없으니 당연히 지울게요 )
그러고 보니 SSH는 창고 주인만 쓸 수 있다는 걸 깨달았습니다. 컴퓨터에 구성된 SSH는 github의 SSH와 쌍을 이루므로 컴퓨터에서 github 저장소를 사용하는 경우에만 SSH를 사용할 수 있습니다.
창고 주인은 SSH만 쓸 수 있으니 그냥 HTTP로 바꾸면 됩니다. (당시에는 문제의 심각성을 깨닫지 못했습니다.)
https 연결을 추가했습니다
두 번째 단계에서 창고를 풀었습니다
그런 다음 그는 저에게 다시 메시지를 보냈습니다.
치명적: 'github.com/hitvoice/Dr…'에 액세스할 수 없습니다: OpenSSL SSL_read: 연결이 재설정되었습니다. 오류 번호 10054
아직 연결할 수 없음을 의미합니다.
이때 문득 문제점을 깨달았습니다: neutral_face:. 남의 창고인 것 같네요. 원격으로 원격 창고에 접속한 후 끌어내릴 수는 없습니다. 내가 연결할 수 있다면 다른 사람의 코드를 마음대로 수정할 수 있다는 의미이기 때문입니다. 그래서 나는 이런 식으로 코드를 당길 수 없습니다! ! !
그래서 git clone을 사용해야 합니다
2 git clone
git clone은 코드가 없는 로컬 코드에 적합하므로 다운로드해야 합니다. 원격 저장소에 연결할 수 없습니다. 창고 권한이 있는지 여부는 중요하지 않습니다.
위에 이어 git clone을 사용하고 있다는 사실을 깨닫고 방금 원격웨어 하우스에 대한 HTTPS 연결을 삭제 한 다음 직접 git clone을 했더니 코드가 성공적으로 다운로드되었습니다.
위의 원격 창고 연결 방법을 삭제했습니다
git remote -v는 로컬 창고가 어떤 원격 창고에 연결되어 있는지 확인하는 데 사용됩니다. 연결되면 창고 코드와 연결 방법이 표시됩니다. 여기 출력은 비어 있습니다. 이는 원격 저장소에 연결되어 있지 않음을 의미합니다.
git clone이 코드를 성공적으로 다운로드했습니다.
위는 남의 창고인데, 내가 사용 허가를 받은 창고라면 어떨까요?
새 지역 창고를 만드세요. 분명히 성공입니다. SSH가 성공할 수 있다면 HTTPS도 성공해야 합니다. 리모컨 없이도 성공할 수 있다면, 리모컨을 사용하면 반드시 성공할 것입니다.
추천 학습: "Git Tutorial"
위 내용은 Git 튜토리얼: git pull과 git clone의 차이점(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!