Git 버전 제어 도구 ---원격 저장소 GitHub 사용
8242 단어 Git
사실 Git를 실행하는 서버를 직접 구축할 수 있지만 현재 단계에서 Git를 배우기 위해 먼저 서버를 설치하는 것은 사소한 일이다.다행히도 이 세계에는 GitHub라는 신기한 사이트가 있다. 이것은 전 세계에서 가장 큰 코드 관리 사이트로 주로 Git를 빌려 버전 제어를 한다.Github에 무료로 코드를 전송할 수 있는 소스 오픈 소프트웨어는 다음과 같습니다.https://github.com/
우선 GitHub 계정을 등록하면 Git 원격 창고를 무료로 받을 수 있습니다.
2. ssh keys 생성
공식 참조 링크:https://help.github.com/articles/generating-ssh-keys/
로컬 Git 창고와 GitHub 창고 사이의 전송은 SSH를 통해 암호화되기 때문에 약간의 설정이 필요합니다.
첫 번째 단계: SSH 키를 생성합니다.사용자 홈 디렉터리에서 있는지 확인하세요.ssh 디렉터리, 있으면 이 디렉터리에 id가 있는지 다시 보세요_rsa 및 id_rsa.pub 이 두 파일이 있으면 다음 명령을 건너뛰고 없으면 명령줄을 열고 다음 명령을 입력하십시오.
ssh-keygen -t rsa -C "[email protected]"
메일 주소를 자신의 메일 주소로 바꾸고 차로 돌아가서 기본값을 사용하면 됩니다. 이 키도 군사적 목적이 아니기 때문에 비밀번호를 설정할 필요가 없습니다.
만약 모든 것이 순조롭다면, 사용자 홈 디렉터리에서 찾을 수 있다.ssh 디렉터리, 안에 id_rsa 및 id_rsa.pub 두 파일:
이 두 개가 바로 SSH 키의 비밀 키 맞습니다, id_rsa는 개인 키입니다. 누설할 수 없습니다, id_rsa.pub는 공개 키입니다. 누구에게도 안심하고 알려줄 수 있습니다.
2단계: GitHub 웹 사이트에 SSH 키를 추가합니다.github에 로그인하여 "settings"의 SSH Keys 페이지를 열고 "Add SSH Key"를 누르면 임의의 타이틀을 채워서 키 텍스트 상자에 id_rsa.pub 파일의 내용:
위의 그림에서 Add Key를 클릭하면 이미 추가된 key를 볼 수 있습니다.
3단계: 연결이 성공했는지 확인합니다.우선ssh 디렉터리에 config라는 파일을 추가합니다. 접두사 이름이 없습니다. 추가 내용은 다음과 같습니다. (아니면 나중에 오류가 발생합니다. ssh connect to host port 22 bad file number)
Host github.comUser gitHostname ssh.github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsaPort 443
그런 다음 Git Bash에 다음 명령을 입력하여 확인합니다.
ssh -T [email protected]
입력하면 다음과 같은 메시지가 표시될 수 있습니다.
#The authenticity of host '[ssh.github.com]:443([192.30.252.150]:443)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
fingerprint가 맞는지 확인하고 프롬프트에 따라 다음 명령을 입력하십시오.
yes
성공하면 다음과 같은 효과가 발생합니다.
그리고 ssh 디렉터리에 파일이 하나 더 있습니다.
주: GitHub에 SSH Key가 필요한 이유는 무엇입니까?GitHub는 다른 사람이 사칭하는 것이 아니라 당신이 푸시하는 제출이 확실하다는 것을 식별해야 하기 때문에 GitHub는 SSH 프로토콜을 지원합니다. 따라서 GitHub는 당신의 공개 키를 알면 자신만 푸시할 수 있다는 것을 확인할 수 있습니다.물론 GitHub에서 여러 키를 추가할 수 있습니다.만약 네가 약간의 컴퓨터를 가지고 있다고 가정한다면, 너는 이따가 회사에서 제출하고, 이따가 집에서 제출하고, 모든 컴퓨터의 키를 GitHub에 추가하기만 하면, 모든 컴퓨터에서 GitHub로 전송할 수 있다.
마지막으로 GitHub에서 무료로 위탁 관리되는 Git 창고는 누구나 볼 수 있다(하지만 너 자신만이 고칠 수 있다).그러니 민감한 정보를 넣지 마세요.
만약 당신이 다른 사람에게 Git 라이브러리를 보여주고 싶지 않다면 두 가지 방법이 있습니다. 하나는 보호비를 내서 Git Hub가 공개된 창고를 사유로 만들면 다른 사람이 볼 수 없게 하는 것입니다.또 다른 방법은 직접 Git 서버를 설치하는 것이다. 당신의 Git 서버이기 때문에 다른 사람도 볼 수 없다.이 방법은 우리 뒤에서 이야기할 것이다. 상당히 간단하고 회사 내부 개발에 필수적이다.
2. 원격 라이브러리 추가:
현재 상황은 로컬에 Git 창고를 만든 후에 GitHub에 Git 창고를 만들고 이 두 창고를 원격 동기화하여 GitHub의 창고를 백업할 수도 있고 다른 사람들이 이 창고를 통해 협업할 수도 있다는 것이다.
먼저 GitHub에 로그인한 다음 오른쪽 상단에서 "Create a new repo"단추를 찾아 새 저장소를 만들고 이름을 짓습니다. 다음 그림과 같습니다.
창고가 생성되면 효과는 다음과 같습니다.
현재 GitHub에 있는 이 learngit 창고는 비어 있습니다. 그리고 이 창고의 주소는 다음과 같습니다.https://github.com/smyhvae/GitTest.git.GitHub는 이 창고에서 새 창고를 복제할 수 있다고 알려준다.기존의 로컬 창고를 연결한 다음 로컬 창고의 내용을 GitHub 창고로 보낼 수도 있다.
3. 로컬 라이브러리의 내용push를 원격 라이브러리로
이전 단락에서 우리는 이미 공백 원격 라이브러리를 만들었다.이제 위의 그림에서 GitHub의 힌트에 따라 기존의 로컬 창고를 위의 원격 라이브러리에 넣습니다.
먼저 로컬에서 버전 라이브러리 AndroidTest를 만들고 커밋합니다.
git initgit add .git commit - " "
그리고 로컬 AndroidTest 창고에서 명령을 실행하여 원격 라이브러리를 연결합니다.
git remote add origin [email protected]/smyhvae/GitTest.git
우리는 이전에 웹 사이트에 이미 만들어졌기 때문에 시스템은 알림을 줄 것이다:remoteoriginalready exsists.응, 그랬어.
위의 smyhvae를 당신의 GitHub 계정 이름으로 바꾸십시오. 그렇지 않으면 로컬에서 연결된 것이 바로 나의 원격 라이브러리입니다. 관련에는 문제가 없습니다. 그러나 앞으로 밀어낼 수 없습니다. 왜냐하면 당신의 SSH 키 공개 키는 나의 계정 목록에 없기 때문입니다.
추가된 원격 라이브러리의 이름은 origin입니다. 이것은 Git의 기본 이름입니다. 다른 이름으로 바꿀 수도 있지만 origin이라는 이름은 한눈에 원격 라이브러리임을 알 수 있습니다.
다음 단계에서는 로컬 라이브러리의 모든 내용을 원격 라이브러리로 전송할 수 있습니다.
git push -u origin master
성공하면 위의 두 줄 명령의 효과는 다음과 같습니다.
gitpush 명령을 사용하면 현재 지점master를 원격으로 전송합니다.원격 라이브러리가 비어 있기 때문에 우리가 처음으로 마스터 지점을 전송할 때 -u 파라미터를 추가했다. Git는 로컬 마스터 지점의 내용을 원격 새 마스터 지점으로 전송할 뿐만 아니라 로컬 마스터 지점과 원격 마스터 지점을 연결시켜 나중에 추출하거나 끌 때 명령을 간소화할 수 있다.
Push가 성공하면 GitHub 페이지에서 원격 라이브러리의 내용이 로컬과 동일하게 표시됩니다.
위의 이 파일들은 내가 로컬에서 만든 공사 파일들이고 분명히push가 GitHub에 성공했다.
지금부터 로컬에서 커밋하면 다음 명령을 사용할 수 있습니다.
$ git push origin master
로컬 마스터 지점의 최신 수정 사항을 GitHub로 전송하면 진정한 분포식 버전 라이브러리가 있습니다!
[요약]
원격 라이브러리를 연결하려면gitremoteaddorigin 명령을 사용하십시오git@username:path/repo-name.git;
연결된 후 명령gitpush-uoriginmaster를 사용하여 처음으로 master 지점의 모든 내용을 전송합니다.
이후 로컬로 제출할 때마다 필요하면 명령gitpushoriginmaster를 사용하여 최신 수정을 전송할 수 있습니다.
4. 원격 라이브러리에서 로컬로 복제
이전 단락에서 우리는 먼저 로컬 라이브러리가 있고 나중에 원격 라이브러리가 있을 때 원격 라이브러리와 어떻게 관련되는지 이야기했다.
현재, 우리가 제로에서 개발한다고 가정하면, 가장 좋은 방법은 먼저 원격 라이브러리를 만든 다음에 원격 라이브러리에서 로컬로 복제하는 것이다.
준비 작업:
먼저 GitHub에 로그인하여 GitTest02라는 새 저장소를 만듭니다.
위의 그림에서 화살표에 있는 버튼을 선택하면 GitHub에서 자동으로 README를 생성합니다.md 파일.생성이 완료되면 README가 표시됩니다.md 파일:
클론 시작:
먼저 로컬에 빈 폴더를 작업 디렉터리로 새로 만듭니다. 제가 새로 만든 디렉터리는 D:/workspace입니다.다음에 원격 파일을 이 디렉터리에 복제해야 하기 때문이다.
그런 다음 D:/workspace 디렉토리로 이동하여 git clone 명령을 사용하여 클론을 시작합니다.
git clone [email protected]:smyhvae/GitTest02.git
위 명령에서 사용자 이름을 자신의 계정으로 바꾸는 것을 주의하십시오.실행에 성공하면 다음과 같은 효과가 발생합니다.
이 때, 우리는 다시 로컬의 D:/workspace 디렉터리로 돌아가서 보았다.
위의 그림은 원격 폴더 GitTest02를 워크스페이스 디렉터리에 복제한 것입니다.이제 GitTest02 폴더를 열어 다음을 확인하십시오.
위의 그림에서 우리가 원격으로 만든readme를 보았다.md 파일 및.git 폴더, 이것은 우리가 원하는 결과입니다.이제 GitTest02 폴더 아래에 있는 모든 파일을 이전 디렉터리로 복사하면 Workspace 프로젝트 디렉터리를 버전 제어에 추가할 수 있습니다.주의git는 숨겨진 디렉터리입니다. 복사할 때 절대 빠뜨리지 마세요.복사가 완료되면 GitTest02 폴더를 삭제할 수 있습니다.최종적으로workspace 프로젝트의 디렉터리 구조는 원격 디렉터리 구조와 똑같다. (프로젝트의 이름만 다를 뿐)
이 때 로컬workspace 프로젝트 디렉터리에 파일을 계속 추가하면 모든 파일을 버전 제어에 추가할 수 있습니다.
git add .git commit -m " "
그런 다음 제출된 컨텐트를 GitHub 원격 버전 라이브러리에 동기화합니다.
git push origin master
주: GitHub가 제시한 주소가 한 개가 아니라 사용할 수 있다는 것을 알아차렸을지도 몰라요.https://github.com/smyhvae/gitskills.git이런 주소.실제로 Git는 여러 가지 프로토콜을 지원하는데 기본적인git://ssh를 사용하지만 https 등 다른 프로토콜도 사용할 수 있다.
github의 폴더, 예를 들어 bbs, 이미지 등을 어떻게 삭제합니까?
해결 방법:
1. git pull you git url 2. git checkout 3. rm -r dirName 4. git add --all 5. git commit -m"remove dir"6. git push you git url 7. input your name 8. input your password
인용:http://www.th7.cn/Program/Android/201410/302818.shtml
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
브랜치 병합(Visual studio 2017 사용)의 계속입니다. 기능 추가를 위한 브랜치를 작성하고, 기능 추가한 후, 그 내용을 develop 브랜치에 병합해 봅니다. 1. 새롭게 「add1」라고 하는 브랜치를 작성 2. 브랜치 "add1"을 선택한 상태에서 M...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.