远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

1、注册账号

1.自行注册GitHub账号

按照官网步骤注册登录上账号

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第1张图片

2.新建一个远程仓库

选择Public是公开的,如果选择private 是私密的,要收费,一般练习用公开的即可。公司项目采用gitlab。

3.本地Git仓库和GitHub仓库之间的传输是通过SSH加密,查看秘钥

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第2张图片

Git bash 下查看 ,右键,点击Git Bash Here

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第3张图片

ls -al ~/.ssh                检查ssh keys是否存在

此命令窗口 不支持ctrl+v粘贴 需要右键 点击 paste

ssh-keygen -t rsa -C ''xxx''           添加一个ssh

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第4张图片

本地管理员目录会出现一个.ssh文件夹

里面有id_rsa和id_rsa.pub两个文件,

这两个就是SSH Key的秘钥对,

id_rsa是私钥,不能泄露出去,

id_rsa.pub是公钥,可以放心地告诉任何人。

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第5张图片

ssh-add ~/.ssh/id_res      生成新的key

-t = The type of the key to generate 密钥的类型

-C = comment to identify the key 用于识别这个密钥的注释

So the Comment is for you only and you can put anything inside. Many sites and software are using this comment as the key name. 所以这个注释你可以输入任何内容,很多网站和软件用这个注释作为密钥的名字  

 登陆GitHub,打开“Account settings”,“SSH and GPG Keys”页面:

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第6张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第7张图片

点击new SSH key

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第8张图片

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

 远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第9张图片

 ssh -T [email protected]        检测是否建立连接成功

 根据提示输入yes远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第10张图片

 显示该内容,表示不成功

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第11张图片

如果不成功

  https://blog.csdn.net/nightwishh/article/details/99647545

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第12张图片

Host github.com
User [email protected]
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第13张图片​ 

按shift

输入:wq 保存退出

添加到远程仓库

1.创建远程仓库 2.本地仓库添加到远程仓库

点击要提交的远程仓库:

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第14张图片

让本地仓库与远程仓库建立连接:

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第15张图片​ 

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

3、GitHub Pages

settings下拉找到pages

 远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第16张图片

 点击save后刷新 点击Pages 就会出现一个链接,可以写到简历上展示自己写的项目效果

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第17张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第18张图片

克隆远程仓库

假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。 首先,登陆GitHub,创建一个新的仓库,名字叫xxx: 现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:

登陆gitHub,点进项目,选择code,选择ssh,复制地址,当前地址就是我们克隆项目的地址

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第19张图片​如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

 1、新建文件夹,输入cmd

git clone 项目链接地址

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第20张图片

2、在克隆成功的项目下,查看分支:

查看分支:git branch

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第21张图片

 注意,在查看分之前,需要先到克隆后的项目下边,通过cd 项目名 进入

master 是主分支,因为此时刚克隆完的项目就只有一个主分支。

创建分支:git branch 分支名

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第22张图片

创建了一个dev分支,dev是devlop的缩写,表示开发分支

我们接下来的程序会写在dev分支上,写完以后再合并到主分支中

切换分支:git switch name或者git checkout name                          name表示分支名

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第23张图片

创建并切换分支:git switch -c name或者git checkout -b name

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第24张图片

删除分支:git branch -d name

我们用过以后的分支,如果不想用了可以删掉

不能删除当前所在的分支,需要切换到不是要删除的分支上,然后删除要删除的分支

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第25张图片

当前在dev分支上添加的内容,仅在dev分支上可以查看

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第26张图片

切换到master分支上,并做出代码操作,仅在master分支上可以看到 

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第27张图片

合并某分支到当前分支:git merge name

如果要把dev分支合并到master 需要先切换到master分支,因为合并是要合并到当前分支

 远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第28张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第29张图片 如何解决合并后的冲突呢?

首先要清楚冲突产生的原因:多条分支对同一个文件进行操作,并在一起合并的时候会发生的冲突。

 远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第30张图片

 可以查看下 比较更改  ,看下不同,也就是冲突在哪

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第31张图片

3、解决冲突

一般情况下是两个都保留  Accept Both Changes,但是也要视情况而定

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第32张图片

 查看下状态,并记录下合并远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第33张图片

 4、查看分支情况

 git log --graph 命令可以看到分支合并图

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第34张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第35张图片 如何放到远程仓库上呢,关闭窗口,找到克隆文件,重新打开cmd窗口

查看分支在master上,用git push origin master

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第36张图片

 远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第37张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第38张图片

还想继续对master操作

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第39张图片 在github刷新

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第40张图片

远程仓库(GitHub) 与本地仓库的秘钥连接 远程仓库的克隆_第41张图片

 小结:

1.查看是否有秘钥:

ls -al ~/.ssh                检查ssh keys是否存在

此命令窗口 不支持ctrl+v粘贴 需要右键 点击 paste

2.没有的话增加秘钥:

ssh-keygen -t rsa -C ''xxx''           添加一个ssh

3. 检测是否与本地仓库连接成功:

 ssh -T [email protected]        检测是否建立连接成功

4.从githu上克隆文件:创建文件,cmd, 输入git clone 项目链接地址

5.分支问题:

查看分支:git branch

创建分支:git branch 分支名

切换分支:git switch name或者git checkout name                          name表示分支名

创建并切换分支:git switch -c name或者git checkout -b name

删除分支:git branch -d name

合并某分支到当前分支:git merge name                          name指的是要合并走的分支

查看分支情况: git log --graph 命令可以看到分支合并图

你可能感兴趣的:(远程仓库,github,git)