GitHub网站是一个提供Git仓库托管服务的网站,所以你只要注册一个GitHub账号,你就可以享受到这种服务
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,在用户主目录下,看看有没有.ssh目录,如果有,看看目录下有没有id_rsa和id_rsa.pub这两个文件,如果有就直接下一步,如果没有,就创建SSH KEY
$ ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
然后一路回车,成功后在你的用户主目录下可以找到.ssh目录,里面会有id_rsa和id_rsa.pub两个文件
然后登陆你的GitHub,打开Account settings,SSH and GPG keys页面 ,点击 New SSH key
点击 Add SSH key,然后你就可以看到你添加的key:
创建一个Repository
点击 Create repository,就会跳到转如下界面
复制以下链接,然后进行关联
然后在本地的test仓库下运行命令
$ git remote add origin git@https://gith
ub.com/ChangePan/test.git
添加完后,远程库的名字就叫origin,这是Git默认的叫法
下一步就可以把本地库的所有内容都推送到远程库上了
$ git push -u origin master
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Counting objects: 16, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (16/16), 1.42 KiB | 729.00 KiB/s, done.
Total 16 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), done.
To github.com:ChangePan/testGit.git
* [new branch] master -> master
把本地库的内容推送到远程,用git push命令
由于远程库是空的,我们第一次推送master分支时,加上-u参数,Git不但会把本地的master分支内容推送到远程新的分支上去,还会把本地的master分支和远程的master分支关联起来
推送成功后,就可以在GitHub上看到
从现在开始,只要本地做了提交,就可以通过命令把本地的master分支最新修改推送到GitHub上了
$ git push origin master
这样,你就拥有了一个真正的分布式版本库了
关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git
关联后,使用 git push -u origin master第一次推送master分支的所有内容
此后,每次本地提交后,就可以使用git push origin master推送最新修改
使用命令git clone进行克隆,我们现在就克隆个AFN的库
$ git clone [email protected]:AFNetworking/
AFNetworking.git
Cloning into 'AFNetworking'...
remote: Counting objects: 14848, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 14848 (delta 7), reused 7 (delta 7), pack-reused 14839
Receiving objects: 100% (14848/14848), 5.30 MiB | 337.00 KiB/s, done.
Resolving deltas: 100% (9795/9795), done.