git之远程仓库

Posted haoqirui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git之远程仓库相关的知识,希望对你有一定的参考价值。

最早一台机器有一个原始版本库,这个一般来说叫做服务器仓库。

不过为了方便我们这里直接使用github。首先注册一个github账号

1.创建SSH Key,打开git bash

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

无需密码,一路回车。

用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

2.登录github,打开settings,SSH_Key页面,点击New Shh Key

填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。

注意,linux上的操作为:

cd~(进入用户主目录) cd .ssh(进入.ssh目录) ls(列出.ssh目录的文件,可以看到id_rsa id_rsa.pub两个文件) cat ~/.ssh/id_rsa.pub(可以看到id_rsa.pub文件的内容,复制即可),我使用的Ubuntu可以使用点击鼠标滚轮来复制。

 

添加远程库

点击New repository,在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。

根据GitHub的提示,在本地的learngit仓库下运行命令:,michaelliao是github账户名。origin是git默认的远程库名,可以改成别的。记住bash切换到工作目录。

  1: $ git remote add origin [email protected]:michaelliao/learngit.git

如果不小心输错了还可以移除后再输入。

  1: $ git remote rm origin

再将本地库的所有内容推送到远程库上。

  1: $ git push -u origin master
  2: Counting objects: 20, done.
  3: Delta compression using up to 4 threads.
  4: Compressing objects: 100% (15/15), done.
  5: Writing objects: 100% (20/20), 1.64 KiB | 560.00 KiB/s, done.
  6: Total 20 (delta 5), reused 0 (delta 0)
  7: remote: Resolving deltas: 100% (5/5), done.
  8: To github.com:michaelliao/learngit.git
  9:  * [new branch]      master -> master
 10: Branch ‘master‘ set up to track remote branch ‘master‘ from ‘origin‘.

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从现在起,只要本地作了提交,就可以通过命令:

  1: $ git push origin master

从远程库克隆

  1: $ git clone [email protected]:michaelliao/gitskills.git
  2: Cloning into ‘gitskills‘...
  3: remote: Counting objects: 3, done.
  4: remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
  5: Receiving objects: 100% (3/3), done.

进入gitskills目录看看,已经有README.md文件了:

  1: $ cd gitskills
  2: $ ls
  3: README.md

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

以上是关于git之远程仓库的主要内容,如果未能解决你的问题,请参考以下文章

Git初体验之远程仓库

Git之远程仓库

Git之使用GitHub搭建远程仓库

开发工具 - Git之本地项目托管到远程仓库

git学习笔记之远程仓库操作

git远程仓库之添加远程库