git 원 거리 창고동력 노드 자바 대학 정리

8198 단어 git.원 격 창고
Git 창고 에서 파일 을 오 가 는 방법 을 알 고 있다 면 파일 백업 이나 잃 어 버 린 문 제 는 더 이상 걱정 하지 않 아 도 됩 니 다.
그러나 중앙 버 전 관리 시스템 SVN 을 사용 한 어린이 신발 회 가 나서서 이런 기능 들 은 SVN 에 이미 있 었 고 Git 에 특별한 점 이 있 는 지 알 지 못 했다 고 말 했다.
맞 아,한 창고 에서 만 파일 의 역 사 를 관리한다 면 Git 과 SVN 은 다 를 게 없어.현재 배 운 Git 의 가 치 를 초과 할 수 있 도록 앞으로 절대 후회 하지 않 을 것 입 니 다.그리고 불행 하 게 도 SVN 의 동 화 를 배 웠 습 니 다.이 장 에 서 는 Git 의 킬러 급 기능 중 하 나 를 소개 합 니 다(주의 하 는 것 중 하나 입 니 다.즉,뒤에 두 번 째,세 번 째):원 격 창고 입 니 다.
Git 은 분포 식 버 전 관리 시스템 으로 같은 Git 창고 로 서로 다른 기계 에 분포 할 수 있다.어떻게 분포 하지?최초 로 한 대의 기계 만 원시 버 전 라 이브 러 리 를 가지 고 있 었 을 것 이다.그 후에 다른 기 계 는 이 원시 버 전 라 이브 러 리 를 복제 할 수 있 었 고 모든 기계 의 버 전 라 이브 러 리 는 똑 같 았 으 며 주요 한 구분 이 없 었 다.
너 는 적어도 두 대의 기계 가 있어 야만 원 격 라 이브 러 리 를 할 수 있다 고 생각 할 것 이다.그렇지 않 니?그런데 저 는 컴퓨터 가 한 대 밖 에 없 는데 어떻게 해요?
사실 한 대의 컴퓨터 에서 도 여러 버 전 라 이브 러 리 를 복제 할 수 있 는데,같은 디 렉 터 리 에 만 있 지 않 으 면 된다.그러나 현실 생활 에서 이렇게 멍청 하 게 한 컴퓨터 에서 원 격 라 이브 러 리 를 몇 개 만 드 는 사람 은 없 을 것 이다.한 컴퓨터 에서 원 격 라 이브 러 리 를 몇 개 만 드 는 것 은 전혀 의미 가 없고 하 드 디스크 가 끊 어 지면 모든 라 이브 러 리 가 끊 어 질 수 있 기 때문에 나 는 너 에 게 한 컴퓨터 에서 여러 개의 창 고 를 어떻게 복제 하 는 지 알려 주지 않 을 것 이다.
실제 상황 은 흔히 이렇다.컴퓨터 한 대 를 찾 아 서버 의 역할 을 하고 매일 24 시간 켜 면 다른 모든 사람들 이 이 서버 창고 에서 한 부 를 복제 하여 자신의 컴퓨터 로 옮 기 고 각자 의 제출 을 서버 창고 로 옮 기 며 서버 창고 에서 다른 사람의 제출 을 끌 어 낸다.
Git 을 실행 하 는 서버 를 스스로 만 들 수 있 지만 현 단계 에 서 는 Git 을 배우 기 위해 서버 를 먼저 만 드 는 것 은 작은 일이 다.다행히 이 세상 에 GitHub 라 는 신기 한 사이트 가 있 습 니 다.이름 에서 알 수 있 듯 이 이 사 이 트 는 Git 창고 위탁 관리 서 비 스 를 제공 하 는 사이트 이기 때문에 GitHub 계 정 을 등록 하면 Git 원 격 창 고 를 무료 로 얻 을 수 있 습 니 다.
후속 내용 을 계속 읽 기 전에 GitHub 계 정 을 스스로 등록 하 세 요.로 컬 Git 창고 와 GitHub 창고 간 전송 은 SSH 로 암호 화 되 어 있 기 때문에 설정 이 필요 합 니 다.
STEP 1:SSHKey 생 성.사용자 홈 디 렉 터 리 에.ssh 디 렉 터 리 가 있 는 지,있 으 면 이 디 렉 터 리 에 id 가 있 는 지 확인 하 십시오.rsa 와 idrsa.pub 이 두 파일 이 있 으 면 바로 다음 단계 로 넘 어 갈 수 있 습 니 다.없 으 면 Shell(Windows 에서 GitBash 열기)을 열 고 SSHKey 를 만 듭 니 다.

$ssh-keygen-trsa-C[email protected]
메 일 주 소 를 메 일 주소 로 바 꾸 고 차 로 돌아 가 기본 값 을 사용 하면 됩 니 다.이 Key 도 군사 적 목적 이 아니 기 때문에 비밀 번 호 를 설정 할 필요 가 없습니다.
모든 것 이 잘 되면 사용자 홈 디 렉 터 리 에서.ssh 디 렉 터 리 를 찾 을 수 있 습 니 다.안에 id 가 있 습 니 다.rsa 와 idrsa.pub 두 파일,이 두 개가 SSHKey 의 비밀 키 쌍,idrsa 는 비밀 키 입 니 다.누설 할 수 없습니다.idrsa.pub 는 공개 키 로 누구 에 게 나 안심 하고 알려 줄 수 있 습 니 다.
STEP 2:GitHub 에 로그 인하 여 Accountstings,SSHKys 페이지 를 엽 니 다.
그리고 AddSSHKey 를 누 르 고 임의의 Title 을 채 우 고 Key 텍스트 상자 에 id 붙 여 넣 기rsa.pub 파일 의 내용:

AddKey 를 누 르 면 추 가 된 Key 를 볼 수 있 습 니 다.

왜 GitHub 에 SSHKey 가 필요 합 니까?GitHub 는 다른 사람 이 사칭 하 는 것 이 아니 라 당신 이 푸 시 한 제출 이 확실 하 다 는 것 을 인식 해 야 하기 때문에 GitHub 는 SSH 프로 토 콜 을 지원 합 니 다.따라서 GitHub 는 당신 의 공개 키 만 알 면 당신 자신 만 푸 시 할 수 있다 는 것 을 확인 할 수 있 습 니 다.
물론 GitHub 는 여러 개의 Key 를 추가 할 수 있 습 니 다.컴퓨터 가 몇 개 있다 고 가정 하면 회사 에서 제출 하고 집에 서 제출 하 며 모든 컴퓨터 의 Key 를 GitHub 에 추가 하면 모든 컴퓨터 에서 GitHub 로 푸 시 할 수 있 습 니 다.
마지막 으로 우정 힌트,GitHub 에서 무료 로 위탁 관리 하 는 Git 창 고 는 누구나 볼 수 있 습 니 다(하지만 당신 만 이 고 칠 수 있 습 니 다).그 러 니 민감 한 정 보 를 넣 지 마 세 요.
다른 사람 에 게 Git 라 이브 러 리 를 보 여주 고 싶 지 않다 면 두 가지 방법 이 있 습 니 다.하 나 는 보호 비 를 내 고 GitHub 가 공개 한 창 고 를 사유 로 만 드 는 것 입 니 다.그러면 다른 사람 이 볼 수 없습니다.또 다른 방법 은 직접 Git 서버 를 만 드 는 것 이다.자신의 Git 서버 이기 때문에 다른 사람 도 볼 수 없다.이 방법 은 우리 가 나중에 말 할 것 이다.상당히 간단 하고 회사 내부 개발 에 필수 적 이다.
GitHub 계 정 을 확보 하면 원 격 창고 에서 공부 할 수 있 습 니 다.
원 격 창고 추가
현재 의 상황 은 로 컬 에 Git 창 고 를 만 든 후에 GitHub 에 Git 창 고 를 만 들 고 이 두 창 고 를 원 격 동기 화 시 키 려 는 것 입 니 다.그러면 GitHub 의 창 고 는 백업 도 할 수 있 고 다른 사람들 이 이 창 고 를 통 해 협력 할 수 있 습 니 다.정말 많은 것 을 얻 을 수 있 습 니 다.
먼저 GitHub 에 로그 인 한 다음 오른쪽 상단 에서 Createanewrepo 단 추 를 찾 아 새 창 고 를 만 듭 니 다.

Repository name 에 learngit 를 입력 하고 기본 설정 을 유지 하 며 Createrepository 단 추 를 누 르 면 새 Git 창 고 를 만 드 는 데 성공 합 니 다.

현재 GitHub 에 있 는 이 learngit 창 고 는 비어 있 습 니 다.GitHub 는 이 창고 에서 새로운 창 고 를 복제 할 수도 있 고 기 존의 로 컬 창 고 를 연결 할 수도 있 습 니 다.그리고 로 컬 창고 의 내용 을 GitHub 창고 로 보 낼 수도 있 습 니 다.
현재 GitHub 의 알림 에 따라 로 컬 learngit 창고 에서 명령 을 실행 합 니 다.

[email protected]:michaelliao/learngit.git
위 에 있 는 michaeliao 를 GitHub 계 정 이름 으로 바 꾸 십시오.그렇지 않 으 면 로 컬 에서 연 결 된 것 이 제 원 격 라 이브 러 리 입 니 다.관련 은 문제 가 없 지만 나중에 푸 시 할 수 없습니다.SSHKey 공개 키 가 제 계 정 목록 에 없 기 때 문 입 니 다.
추가 하면 원 격 라 이브 러 리 의 이름 이 origin 입 니 다.이것 은 Git 의 기본 이름 이 고 다른 이름 으로 바 꿀 수도 있 지만 origin 이라는 이름 은 딱 봐 도 원 격 라 이브 러 리 임 을 알 수 있 습 니 다.
다음 단 계 는 로 컬 라 이브 러 리 의 모든 내용 을 원 격 라 이브 러 리 로 보 낼 수 있 습 니 다.

$gitpush-uoriginmaster
Countingobjects:19,done.
Deltacompressionusingupto4threads.
Compressingobjects:100%(19/19),done.
Writingobjects:100%(19/19),13.73KiB,done.
Total23(delta6),reused0(delta0)
[email protected]:michaelliao/learngit.git
*[newbranch]master-master
Branchmastersetuptotrackremotebranchmasterfromorigin.
로 컬 라 이브 러 리 의 내용 을 원 격 으로 보 내 고 gitpush 명령 으로 현재 분기 master 를 원 격 으로 보 냅 니 다.
원 격 라 이브 러 리 가 비어 있 기 때문에 master 지점 을 처음 푸 시 할 때-u 인 자 를 추가 합 니 다.Git 은 로 컬 master 지점 의 내용 을 원 격 으로 새로운 master 지점 으로 푸 시 할 뿐만 아니 라 로 컬 master 지점 과 원 격 master 지점 을 연결 하여 나중에 푸 시 하거나 끌 어 올 릴 때 명령 을 간소화 할 수 있 습 니 다.
푸 시 에 성공 하면 바로 GitHub 페이지 에서 원 격 라 이브 러 리 의 내용 이 로 컬 과 똑 같 음 을 볼 수 있 습 니 다.

지금부터 로 컬 에서 제출 하면 명령 을 통과 할 수 있 습 니 다.

$gitpushoriginmaster
로 컬 master 분기 의 최신 수정 사항 을 GitHub 로 보 냅 니 다.현재 분포 식 버 전 라 이브 러 리 를 가지 고 있 습 니 다!
SSH 경고
Git 의 clone 이나 push 명령 을 처음 사용 하여 GitHub 에 연결 하면 경 고 를 받 습 니 다.

Theauthenticityofhost'github.com(xx.xx.xx.xx)'can'tbeestablished.
RSAkeyfingerprintisxx.xx.xx.xx.xx.
Areyousureyouwanttocontinueconnecting(yes/no)?
이 는 Git 이 SSH 연결 을 사용 하기 때 문 이 며,SSH 가 GitHub 서버 의 Key 를 처음 검증 할 때 GitHub 의 Key 지문 정보 가 실제로 GitHub 서버 에서 왔 는 지 확인 하고 yes 리 턴 을 입력 하면 된다.
Git 은 GitHub 의 Key 를 이 컴퓨터 의 신뢰 목록 에 추가 했다 는 경 고 를 출력 합 니 다.

Warning:Permanentlyadded'github.com'(RSA)tothelistofknownhosts.
이 경 고 는 한 번 만 나타 날 뿐 뒤의 조작 은 아무런 경고 도 없 을 것 이다.
만약 누군가가 GitHub 서버 를 사칭 할 까 봐 걱정 된다 면 yes 를 입력 하기 전에 GitHub 의 RSAKey 지문 정보 가 SSH 연결 과 일치 하 는 지 확인 할 수 있 습 니 다.
원 격 창고 에서 복제
지금 우리 가 제로 개발 을 한다 고 가정 하면 가장 좋 은 방법 은 먼저 원 격 라 이브 러 리 를 만 든 다음 에 원 격 라 이브 러 리 에서 복제 하 는 것 이다.
먼저 GitHub 에 로그 인하 여 새로운 창 고 를 만 듭 니 다.이름 은 gitskills 입 니 다.

Initializethisreposcory with a README 을 선택 하면 GitHub 에서 자동 으로 README.md 파일 을 만 들 수 있 습 니 다.생 성 완료 후 README.md 파일 을 볼 수 있 습 니 다:

현재 원 격 라 이브 러 리 가 준비 되 어 있 습 니 다.다음 단 계 는 gitclone 명령 으로 로 컬 라 이브 러 리 를 복제 하 는 것 입 니 다.

[email protected]:michaelliao/gitskills.git
Cloninginto'gitskills'...
remote:Countingobjects:3,done.
remote:Total3(delta0),reused0(delta0)
Receivingobjects:100%(3/3),done.
$cdgitskills
$ls
README.md
Git 라 이브 러 리 의 주 소 를 자신의 것 으로 바 꾸 고 gitskills 디 렉 터 리 에 들 어가 보 세 요.README.md 파일 이 있 습 니 다.
여러 사람 이 협력 하여 개발 한다 면,각자 원 격 복제 1 부 를 원 격 으로 복제 하면 된다.
GitHub 가 주 는 주 소 는 하나 가 아니 라https://github.com/michaelliao/gitskills.git이런 주 소 를 사용 할 수 있다 는 것 을 알 수 있 을 것 이다.실제로 Git 은 다양한 프로 토 콜 을 지원 하 며,기본 git://는 ssh 를 사용 하지만 https 등 다른 프로 토 콜 도 사용 할 수 있 습 니 다.
https 를 사용 하 는 것 은 속도 가 느 린 것 을 제외 하고 가장 큰 번 거 로 움 은 푸 시 할 때마다 암 호 를 입력 해 야 하 는 것 입 니 다.그러나 http 포트 만 열 린 회사 내부 에 서 는 ssh 프로 토 콜 을 사용 할 수 없고 https 만 사용 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기