远程仓库------GitHub
注意:本文主要讲解的是,如何快速的将本地仓库的代码托管到GitHub上,如果不知道Git是什么的可以参考我的博客 ====> 分布式版本控制系统------Git
一、在GitHub创建远程仓库

- 这样GitHub会自动为我们创建一个
README.md文件。创建完毕后,可以看到README.md文件

二、在GitHub上添加密钥
- 由于本地的
Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要做如下的设置:-
第1步:创建
SSH Key。先在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可以直接跳过第一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:bashssh-keygen -t rsa -C "youremail@example.com"- 你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
- 如果一切顺利的话,可以在用户主目录里找到
.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
-
第2步:登陆
GitHub,打开"Account settings","SSH Keys"页面:然后,点"Add SSH Key",填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

-
三、克隆远程仓库的代码到本地
-
如果我们本地没有代码或者不是最新的代码,这可以将远程库中的代码克隆到本地来。
-
首先找到远程库的地址如下:

-
在
git bash命令行中输入如下命令:bashgit clone '远程库的地址'
-
可以看到当前目录下多了一个test文件夹,进入该文件夹内可以看到克隆下来了远程库中的
readme.md文件。

四、如何将本地仓库第一次同步到Github
-
现在的情景是,本地已经创建了一个
Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,一举多得。 -
第一步:在
GitHub上创建一个远程仓库。 -
第二步:在
GitHub上添加Git和GitHub通信的SSH密钥。 -
第三步:将本地仓库的代码同步到远程仓库。
bashgit remote add origin "远程库的地址" git push -u origin main
- 由于远程库的内容是空的,我们第一次推送
main分支时,加上-u参数,Git不但会把本地的main分支内容推送到远程新的main分支,还会把本地的main分支和远程的main分支关联起来,以后的推送或者拉取时就可以简化命令。
- 由于远程库的内容是空的,我们第一次推送
-
在远程库中可以查看到我们同步的本地库中的
test.txt文件。

五、总结
- 第一次使用
Git需要生成SSH密钥,使用命令ssh-keygen -t rsa -C "youremail@example.com",就可以在用户主目录下找到.ssh目录了。 - 将
GitHub上的代码克隆到本机上,使用命令git clone '远程库的地址'。 - 要关联一个远程库,使用命令
git remote add origin '远程库的地址';关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名。- 关联后,使用命令
git push -u origin main第一次推送main(如果你本地库的分支名叫master,就把main替换成master)分支的所有内容。 - 此后,每次本地提交后,只要有必要,就可以使用命令
git push origin master推送最新修改。
- 关联后,使用命令
- 如果添加远程库的时候写错了,或者想删除远程库,可以用
git remove rm <name>命令。使用前建议先用git remote -v查看远程库信息:然后根据名字删除,比如删除origin:git rmmote rm origin,注意:这里的删除其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
1.常用命令总结
bash
ssh-keygen -t rsa -C <"youremail@example.com"> #生成SSH密钥
git clone '远程库的地址'> #将远程库中的文件克隆到本地Git管理
git remote add <remote_name> #关联一个远程库到本地
git remote -v #查看关联的远程库的信息
git remote rm <remote_name> #删除本地关联的远程库
git push -u <remote_name> <local_branch_name> #第一次推送本地库到远程库
git push <remote_name> <local_branch_name> #之后推送本地修改的内容