Git 원격 라이브러리 및 github

Git는 분산 버전 제어 시스템으로 같은 Git 창고에서 서로 다른 기계에 분포할 수 있다.최초에 틀림없이 한 대의 기계만 원시 버전 라이브러리를 가지고 있을 것이다. 이후에 다른 기계는 이 원시 버전 라이브러리를 복제할 수 있을 뿐만 아니라 모든 기계의 버전 라이브러리는 사실상 똑같고 그 다음의 구분이 없다.한 대의 컴퓨터를 찾아 서버의 역할을 하고 매일 24시간 켜면 다른 모든 사람들이 이'서버'창고에서 한 부를 복제하여 자신의 컴퓨터에 제출하고 각자의 제출을 서버 창고로 미루며 서버 창고에서 다른 사람의 제출을 끌어낸다.
Git를 실행하는 서버를 직접 구축할 수 있지만 현재 단계에서 Git를 배우기 위해 먼저 서버를 설치하는 것은 사소한 일이다.다행히도 이 세상에 GitHub라는 신기한 사이트가 있습니다. 이름에서 알 수 있듯이 이 사이트는 Git 창고 위탁 관리 서비스를 제공하는 사이트이기 때문에 GitHub 계정을 등록하면 Git 원격 창고를 무료로 받을 수 있습니다.
다음 내용을 계속 읽기 전에 GitHub 계정을 직접 등록하십시오.로컬 Git 창고와 GitHub 창고 사이의 전송은 SSH를 통해 암호화되기 때문에 약간의 설정이 필요합니다.
1단계: SSH 키를 생성합니다.사용자 홈 디렉터리에서 있는지 확인하세요.ssh 디렉터리, 있다면, 이 디렉터리에 id_rsaid_rsa.pub 두 파일이 있는지 다시 보십시오. 만약 이미 있다면, 바로 다음 단계로 넘어갈 수 있습니다.없으면 Shell(Windows에서 Git Bash 열기)을 열고 SSH 키를 만듭니다.
$ ssh-keygen -t rsa -C "[email protected]"

메일 주소를 자신의 메일 주소로 바꾸고 차로 돌아가서 기본값을 사용하면 됩니다. 이 키도 군사적 목적이 아니기 때문에 비밀번호를 설정할 필요가 없습니다.
만약 모든 것이 순조롭다면 사용자 홈 디렉터리에서 .ssh 디렉터리를 찾을 수 있습니다. id_rsaid_rsa.pub 두 개의 파일이 있습니다. 이 두 가지는 SSH 키의 비밀 키 맞습니다. id_rsa은 개인 키입니다. 누설할 수 없습니다. id_rsa.pub은 공개 키입니다. 누구에게도 안심하고 알려 주십시오.
2단계: GitHub에 로그인하여 Account settings, SSH Keys 페이지를 엽니다.
그런 다음 "Add SSH Key"를 누르고 임의의 제목을 채우고 키 텍스트 상자에 id_rsa.pub 파일의 내용을 붙여넣습니다.
"Add Key"를 누르면 이미 추가된 Key를 볼 수 있습니다.
왜 GitHub에 SSH Key가 필요한가요?GitHub는 다른 사람이 사칭하는 것이 아니라 당신이 푸시하는 제출이 확실하다는 것을 식별해야 하기 때문에 GitHub는 SSH 프로토콜을 지원합니다. 따라서 GitHub는 당신의 공개 키를 알면 자신만 푸시할 수 있다는 것을 확인할 수 있습니다.
물론 GitHub에서 여러 키를 추가할 수 있습니다.만약 네가 약간의 컴퓨터를 가지고 있다고 가정한다면, 너는 이따가 회사에서 제출하고, 이따가 집에서 제출하고, 모든 컴퓨터의 키를 GitHub에 추가하기만 하면, 모든 컴퓨터에서 GitHub로 전송할 수 있다.
마지막으로 GitHub에서 무료로 위탁 관리하는 Git 창고는 누구나 볼 수 있다(하지만 너 자신만이 고칠 수 있다).그러니 민감한 정보를 넣지 마세요.
만약 당신이 다른 사람에게 Git 라이브러리를 보여주고 싶지 않다면 두 가지 방법이 있습니다. 하나는 보호비를 내서 Git Hub가 공개된 창고를 사유로 만들면 다른 사람이 볼 수 없게 하는 것입니다.또 다른 방법은 직접 Git 서버를 설치하는 것이다. 당신의 Git 서버이기 때문에 다른 사람도 볼 수 없다.이 방법은 우리가 뒤에서 이야기할 것이다. 상당히 간단하고 회사 내부 개발에 필수적이다.
우리는 줄곧 GitHub를 무료 원격 창고로 사용해 왔다. 만약 개인의 개원 프로젝트라면 GitHub에 올리는 것은 전혀 문제가 없다.사실 GitHub는 개원 협업 커뮤니티입니다. GitHub를 통해 다른 사람이 당신의 개원 프로젝트에 참여할 수도 있고 다른 사람의 개원 프로젝트에 참여할 수도 있습니다.
GitHub가 등장하기 전에 개원 프로젝트의 개원은 쉽지만 많은 인민 대중을 참여시키는 것은 비교적 어렵다. 왜냐하면 참여하려면 코드를 제출해야 하기 때문에 코드를 제출하고 싶은 모든 대중에게 계정을 개설하는 것은 비현실적이다. 따라서 대중도 버그를 보고하는 데 한정된다. 버그를 고칠 수 있어도diff 파일을 메일로 보낼 수 밖에 없기 때문에 매우 불편하다.
그러나 GitHub에서 Git의 강력한 복제와 지점 기능을 이용하여 많은 인민들이 처음으로 각종 개원 프로젝트에 자유롭게 참여할 수 있게 되었다.
어떻게 개원 프로젝트에 참여합니까?예를 들어 인기가 매우 높은bootstrap 프로젝트, 이것은 매우 강력한 CSS 프레임워크입니다. 프로젝트 홈페이지에 방문할 수 있습니다https://github.com/twbs/bootstrap"Fork"를 누르면 자신의 계정 아래에 bootstrap 창고를 복제하고 자신의 계정 아래에서 clone:
git clone git@github.com:your account/bootstrap.git

반드시 자신의 계정에서clone 창고를 내려가야 수정을 전송할 수 있습니다.bootstrap의 저자의 창고 주소 [email protected]:twbs/bootstrap.git에서 복제하면 권한이 없기 때문에 수정을 전송할 수 없습니다.
만약 당신이 bootstrap의 버그를 복구하거나 기능을 추가하고 싶다면, 즉시 일을 시작하고, 일을 끝낸 후에 자신의 창고로 밀어 넣을 수 있습니다.
만약 bootstrap의 공식 라이브러리가 당신의 수정을 받아들일 수 있기를 원한다면, GitHub에서pull request를 시작할 수 있습니다.물론 상대방이 당신의pullrequest를 받아들일지는 확실하지 않습니다.

작은 매듭

  • 은 GitHub에서 임의의 Fork로 창고를 개설할 수 있다.
  • 자신이 Fork 후 창고의 읽기와 쓰기 권한을 가지고 있음;
  • 은pullrequest를 공식 창고에 전송하여 코드를 공헌할 수 있습니다.

  • 원격 창고에서 복제할 때, 실제로 Git는 자동으로 로컬 master 지점과 원격 master 지점을 대응하고, 원격 창고의 기본 이름은 origin입니다.
    원격 라이브러리 정보를 보려면 git remote을 사용하십시오.
    $ git remote
    origin
    

    또는 git remote -v으로 더 자세한 정보를 표시합니다.

    푸시 브랜치


    지점을 푸시하는 것은 이 지점의 모든 로컬 제출을 원격 라이브러리로 푸시하는 것이다.밀어넣을 때 로컬 브랜치를 지정하면 Git은 원격 라이브러리에 해당하는 원격 브랜치로 밀어넣습니다.
    $ git push origin master
    
    dev과 같은 다른 지점을 푸시하려면 다음과 같이 하십시오.
    $ git push origin dev

    좋은 웹페이지 즐겨찾기