教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash

一、GitHub上创建新Repository

 在GitHub上创建名为springcloud-config的新Repository:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第1张图片

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第2张图片

留意git的URL地址:https://github.com/pbjlovezjy/springcloud-config.git

留意git的SSH地址:[email protected]:pbjlovezjy/springcloud-config.git

二、创建秘钥

假如GitHub的用户名为:pbjlovezjy 

密码:Panbinjie20021105

第1步:打开Git bash设置用户名和邮箱

git config --global user.name "填你GitHub的用户名"

git config --global user.name

git config --global user.email "填你自己GitHub注册的邮箱"

git config --global user.email

第2步:在Git Bash中输入以下代码,创建密钥:

生成新的SSH密钥对:ssh-keygen -t rsa -b 4096 -C "[email protected]"

启动 SSH agent:eval "$(ssh-agent -s)"

添加你的私钥到SSH agent中:ssh-add ~/.ssh/id_rsa

复制公钥到剪贴板:clip < ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDGxU+Ha4PAL5y6p2WUBR1Ll/pJKJA8yBF/4HOhFIukZKh2ZK/1o62N3lytHm5WKbjNfOSKyUBXgkb5+ZflB/HWI+Id3vP8uU/rk5VLuZIU18FhceK2nu5jAA897WGLEOpBJ2/ntQUQDUzeI5ak2y+zO9XQpXEpJ9n/HVxW444vVeIpc4VHKIkv/wf6LU+A5WG1OcAPWQHAyC/e1Ulkx8vUNqhk88WiXIoutAyDusXJGn+xLA52Pb0ojXTrfgDzfMaXZtgAmtAgWmhv51+tTjbiPNecN0AzdBjwQtAEcZ393HDsbf9Vwg3vPgqY9ivfMJ9UwM4czFKWIbHHk0SK5B+YH+rFjk5RnU9KE0DFcKHlwhUWwrSrjspeGQ4rzNwEAlirp8KjiHLkaxF6IV1ZvdZZ5AiOHR4tYR9i9I6n/QX7hQoCxO0YIPyTRZUtryZejW+ocFDZ0qKTo16/X4IeIQJvatTApdwe7LhG15+tvhMF5J3HtnF4e4J3GpYoZkUXk11Vvi3wsDnJHm0j7C2KwTaDlaRzv2otGv8QcpgaI9cN+9YOdhrFAVKL+XwhhYYPl66r+x4tln++9mfTc7m2QlhDDFLZ1eYxp+P4WQO4XcxPFxQt5jhXtyns3EuyLqY//6/OYONGmeV/BktRmLYeUjIUMWFwWjp1v8PlwL1zP99rQ== [email protected]

第3步:打开GitHub粘贴密钥,完成关联:

点击右上角的头像,选择 "Settings":

在左侧菜单中选择 "SSH and GPG keys":

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第3张图片 教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第4张图片

点击 "New SSH key":

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第5张图片

在 "Title" 字段中,为你的密钥添加一个描述性的名称:

在 "Key" 字段中,粘贴你之前复制的公钥:

点击 "Add SSH key":

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第6张图片

三、克隆远程仓库

在本地磁盘D盘下新建44文件夹,在44文件夹下创建SpringCloud2020

启动gitbash然后cd d:/44/SpringCloud2020

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第7张图片

git clone [email protected]:zzyybs/springcloud-config.git

这里解释一下git clone命令就是从github远程仓库上克隆东西到本地磁盘:

如上面例子,要获取东西的来源是:[email protected]:zzyybs/springcloud-config.git,这是个GitHub仓库,可能是别人的仓库。

东西存储到/d/44/SpringCloud2020这个本地地址上。

如下是克隆后的结果:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第8张图片

四、推送本地仓库的项目到GitHub

在spring-config文件夹下的空白处单击右键,进入Git Bash

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第9张图片教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第10张图片

然后输入:git -c http.sslVerify=false push -u origin master

然后会弹出一个界面,选择 sign in with your browser,选择授权git系统,然后输入密码即可:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第11张图片 教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第12张图片

可以直接将文件夹内容提交至仓库:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第13张图片

五、同步远程仓库,提交修改后的内容

假如我们现在删掉了本地文件夹里的README.md,我们想把这一修改同步到GitHub上,要如何做呢?

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第14张图片

首先我们输入:git add .  (注意最后有个点)将所有修改的内容放入缓冲区:

然后输入:git commit -m '随便填写'

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第15张图片

即可实现GitHub同步本地文件夹的内容。

假设我们现在修改了GitHub上的内容,添加了一个README.mdd文件夹:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第16张图片 教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第17张图片

此时,我们本地没有README.md文件,假如我们想同步远程仓库和本地:

只需要输入:git -c http.sslVerify=false pull --rebase origin master  

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第18张图片

文件就被我们同步到了本地:

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第19张图片

六、更新证书

找到java在电脑上的安装位置,我的位置:E:\javajdk\jre\lib\security

教你如何在GitHub上创建Repository,推送本地仓库的项目到GitHub,创建SSH密钥,拉取同步,更新证书 Git使用教程使用Git Bash_第20张图片

算法设计与分析【期中+期末复习知识点总结】

答题模板 答题规范 如何答题

第1章:算法概述

算法:具有输入、输出、确定性、有限性。

程序(算法+数据结构=程序):具有输入、输出、确定性(注意:程序可以不满足有限性,如操作系统是在无限循环中执行的程序)。

衡量算法好坏的方法:正确性(有限时间正确结果)、简明性、效率(时间、空间)、最优性

O:表示算法的渐近上界,如果算法的时间复杂度为O(g(n)),使得对于任何输入规模n,算法的运行时间都不会超过c * g(n),即算法的时间复杂度不会超过g(n)的某个常数倍,此谓上界。

Ω:表示算法的渐近下界,如果算法的时间复杂度为Ω(g(n)),使得对于任何输入规模n,算法的运行时间都不会低于c * g(n),即算法的时间复杂度不会低于g(n)的某个常数倍,此谓下界。

Θ:表示算法的渐近紧确界,如果算法的时间复杂度为Θ(g(n)),使得对于任何输入规模n,算法的运行时间都被夹在c1 * g(n)和c2 * g(n)之间,即算法的时间复杂度大约是g(n)的某个常数倍,此谓同阶。

第2章:递归与分治

分治法:将规模为n的问题分解为k个规模较小的子问题,子问题间互相独立且与原问题相同。通过递归求解子问题,最后将解合并,可实现对原问题的求解。

(个人总结:分治法的核心思想是:分解和递归。即将大问题分解为子问题,因为子问题性质与原问题相同,因此可以使用相同的递归式进行求解。

注意子问题间的求解必须是独立的,否则会做很多不必要的重复工作,如果不独立的话选择动态规划会比较好。)

分治法求解过程:分解 -> 递归求解 -> 合并。

分治算法典型问题:二分搜索、合并排序、快速排序、大数乘法、矩阵乘法、棋盘覆盖、最近点对问题、线性时间选择、循环赛日程。

排序算法时复杂度比较
排序方法 最好时间 平均时间 最坏时间 辅助空间
插入排序 O(n) O(n^{2}) O(n^{2}) O(1)
堆排序 O(nlogn) O(nlogn) O(nlogn) O(1)
冒泡排序 O(n) O(n^{2}) O(n^{2}) O(1)
快速排序 O(logn) O(nlogn) O(n^{2}) O(logn)
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n)

分治答题策略:简单描述所设计的算法,要重点说明是如何将问题划分为子问题(分解策略),如何进行递归,给出递归方程,合并过程如果有就一句话带过即可,注意要在最后写上时间复杂度和空间复杂度。

第3章:动态规划

动态规划:将规模为n的问题分解为k个规模较小的子问题,子问题间彼此关联且与原问题相同。通过将子问题的解记录下来,可以避免重复计算。动态规划常用于解决具有重叠子问题和最优子结构特性的问题,通常使用表格法或记忆化搜索来实现,最终得到原问题的最优解。

重叠子问题:在递归执行的过程中,同一个子问题会被多次遇到和解决,通过存储已解决子问题的答案,动态规划可以避免对相同子问题的重复计算。

最优子结构:一个问题的最优解包含其子问题的最优解。

(个人总结:动态规划与贪心不同的一点在于:子问题间不是完全独立的,换句话说子问题间具有关联或者说是依赖的关系,因此可以用表来记录已解决的子问题答案,后续操作用到时只需查表即可,不用再重新计算,可以节约开销)

动态规划算法典型问题:最长公共子序列、最大子段和问题、凸多边形最优剖分、多边形游戏、图象压缩、电路布线、流水作业调度、0-1背包问题。

动态规划答题策略:简单描述所设计的算法,要重点分析最优解结构(满足最优子结构和重叠子问题性质);然后建立递归关系,给出递归方程;简单描述求解过程,给出表的复杂度;最后千万要记得给出时间和空间复杂度。

第4章:贪心算法

贪心选择性质:所求问题的整体最优解可以通过一系列局部最优的选择来达到。

证明满足贪心选择性质:证明每一步所做出的贪心选择最终将获得问题的整体最优解。(首先考察问题的一个整体最优解,并证明可修改这个最优解,使其以贪心选择开始。在做出贪心选择后,原问题简化为规模更小的类似子问题。用数学归纳法证明,通过每一步做贪心选择,最终可得到问题的全局最优解。)

最优子结构性质:一个问题的最优解包含其子问题的最优解。

贪心算法典型问题:装船问题、哈夫曼编码问题、单源最短路径问题、最小生成树问题、多机调度问题。

贪心答题策略:先描述所设计的算法,然后简单证明算法的正确性,包括贪心选择性质和最优子结构性质,最后给出时间复杂度。

你可能感兴趣的:(github,gitbash,笔记,clone,git,bash,ssh)