Latest web development tutorials

망할 놈의 원격 저장소

힘내 SVN과 같은 중앙 서버가 있다고 없습니다.

우리는 현재 로컬로 실행되는 명령을 힘내하는 데 사용하는, 힘내 당신은 당신의 코드 나 다른 개발자와 협력을 공유하고자합니다. 당신은 다른 개발자에 연결할 수있는 하나의 서버에 데이터를 입력해야합니다.

이 예는 우리의 첫 번째 읽을 수있는, 원격으로 Github에서 저장소를 사용 Github에서 간단한 튜토리얼을.


원격 라이브러리 추가

새로운 원격 저장소를 추가하려면, 당신은 간단한 이름을 지정할 수 있습니다 다음, 나중에 참조 할 수 있도록 명령의 형식은 다음과 같습니다

git remote add [shortname] [url]

이 예에서는, 예로서 원격 저장소 Github에서, 당신은 홈페이지 github에없는 경우 https://github.com/ 등록한다.

로컬 Git 저장소 및 GitHub의 저장소의 전송이 SSH 암호화를 통해이기 때문에, 그래서 우리는 인증 정보를 구성해야합니다 :

SSH 키를 생성하기 위해 다음 명령을 사용하여

$ ssh-keygen -t rsa -C "[email protected]"

[email protected] 다시 GitHub의에 등록 된 사서함에, 당신은 우리가 줄을 입력하는 기본 방법을 사용하는 암호를, 경로를 확인하고 입력해야합니다. , 스푸핑 폴더 ~ / 아래, 내부, 열린 id_rsa.pub을 생성 키 내부에 복사합니다 성공.

다시 GitHub의에, 계정 설정 (계정 구성), 왼쪽을 선택 SSH 키를 입력 SSH 키 추가, 제목은 당신의 컴퓨터 키를 생성 붙여 입력합니다.

성공적인 확인하려면 다음 명령을 입력합니다 :

$ ssh -T [email protected]
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

다음 명령은 우리가 성공적으로 Github에서에 연결 한 것을 알 수있다.

아래 그림과 같이 로그인 후 것은 "새 저장소"를 클릭 :

리포지토리 이름 작성 w3cschool.cc (원격 저장소 명), 다른 사람이 기본 설정을 유지 한 후, "저장소 만들기"버튼을 클릭, 우리는 성공적으로 새로운 Git 저장소를 생성 :

생성되면, 다음 정보가 표시된다 :

우리가이 저장소 복제 새 창고에서 알 수 위의 정보는 콘텐츠는 로컬 저장소 GitHub의 저장소에 푸시 할 수있다.

이제 GitHub의 프롬프트에 따라, 로컬웨어 하우스의 명령을 실행합니다 :

$ ls
README
w3cschool本教程测试.txt
test.txt
$ git remote add origin [email protected]:tianqixin/w3cschool.cc.git
$ git push -u origin master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done.
Total 21 (delta 4), reused 0 (delta 0)
To [email protected]:tianqixin/w3cschool.cc.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

다음 명령은 Github에서의 로컬 복사본에 따라 성공적으로 Github에서 사용자 이름이 동일하지 동일한 저장소 이름이 아니기 때문에, 나에게 명령하기보다는, 새로운 창고를 만들었습니다.

다음으로 우리가 반환 Github에서 저장소를 만들 때이 파일이 Github에서에 업로드 된 볼 수 있습니다 :


현재 원격 라이브러리를 확인

현재 원격 저장소가 배치 상황을 확인하려면 명령을 사용할 수 있습니다 :

git remote
$ git remote
origin
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)

실행시에 -v 매개 변수를 사용하면 각 별칭에 대한 실제 링크 주소를 볼 수 있습니다.


원격 저장소를 추출

힘내는 원격 저장소 업데이트를 추출하는 데 사용되는 두 개의 명령이 있습니다.

1. 원격 저장소에서 데이터와 새로운 분기를 다운로드 :

git fetch

필요성은 지사가 위치한으로 실행 자식 원격 지점을 병합 된 후 수행 할 수 있습니다.

2, 원격웨어 하우스에서 데이터를 추출하고 현재 지점에 병합하려고 :

git pull

이 명령은 당신의 자식 망할 놈의 병합에 원격 지사의 구현 후 즉시 인출의 모든 지점에서 실행됩니다.

당신이 [별칭] 그것은 당신이 데이터가없는 얻을 수 힘내에게 인출 자식을 실행할 수 있습니다, 원격 저장소를 구성하고, 업데이트 된 데이터를 추출한다고 가정하고 먼저 자식 병합 [별명] / [분기를 실행할 수 있습니다 ] 현재 분기에 (이 시간이이 서버에 밀렸다 가정) 서버에 업데이트한다.

그 다음 우리는 Github에서의 "w3cschool 튜토리얼 시험이 .txt"를 클릭하고 온라인을 수정합니다. 우리는 로컬 변경 사항을 업데이트 한 후.

$ git fetch origin
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/w3cschool.cc
   7d2081c..f5f3dd5  master     -> origin/master

위의 정보 "7d2081c..f5f3dd5 마스터 -> 원산지 / 마스터"마스터 분기 명령이 업데이트되었습니다, 우리는 지방에 동기화 업데이트하려면 다음 명령을 사용할 수 있습니다 :

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)

원격 저장소에 밀어

새로운 분기 및 명령의 말단부에 데이터웨어 하우스를 밀어 :

git push [alias] [branch]

다음과 같이 [분기] 분기 푸시가 될 위의 명령은 [분기] 분기, 예 [별명] 원격 저장소입니다.

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)
bogon:w3cschoolcc tianqixin$ vim w3cschool本教程测试.txt 
bogon:w3cschoolcc tianqixin$ git push origin master
Everything up-to-date

원격 저장소를 삭제

당신이 명령을 사용하여 원격 저장소를 삭제 :

git remote rm [别名]
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 [email protected]:tianqixin/w3cschool.cc.git
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
origin2	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin2	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote rm origin2
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)