“Yeah It’s on. ”
JIASHENG 的 Blog 就这么开通了。
2022 年,JIASHENG 总算有个地方可以好好写点东西了。
作为一个小白,这是我搭建的第一博客,接下来会讲诉一下我遇到的问题和搭建博客的过程
正文
我为什么要搭建这个博客
听室友说他搭了个博客,然后最近找了个阿里机器学习的实习,月薪1万,他说有问到他后端的,那人对他自己搭建的网站挺感兴趣的….其实我早就想搭博客了,之前搞过几次,半途而废没搭起来, 这次折腾了一个下午要搞出来了
我搭建这个博客主要经历了什么
GitHub我不会用…今日之前的水平仅限于download zip(每错,我之前把GitHub当成Google用来搜索代码,有用的就下载下来…从未用GitHub来管理过我的代码或者用GitHub搭建一个界面)
1.看bilibili上的教程(实际上没帮到我)
为了搭建这个博客,我先是上bilibili搜了一下:“如何搭建一个博客”,主要看了两个视频,一个是关于搭建个人博客的理论 主要是将理论,和我这里搭建的博客没啥关系… 然后看了另外一个搭建个人网站的视频,讲可以租一个云服务器然后把网页利用云服务器发布,并且还推荐了一个模块化跟搭积木一样做博客的网页,实际上和我这里搭建的博客也没啥关系,我这个博客完全在 GitHub上不需要云服务器。所以我大概思路就有了,我要用github来搭建我自己的网站
2.在必应上搜索如何github搭建个人博客
我主要找的教程是和GitHub相关的,其他技术路线有很多
我先学了怎么在本地使用github(我先注册了github账号、在windows电脑上安装了Git、Node.js、Hexo) 然后学了一下怎么将本地的代码和github上的代码进行同步等基本操作(和我这里搭建的博客也没有关系)… 主要内容都在csdn,csdn的很多文章非常乱…非常难以复现… 基本上照着上面某个教程弄,弄到一半发现莫名其妙的问题,然后就弄不下去了,大概是说要在setting里面下拉找到Github Pages这里找到一个链接 我发现我跟着这些教程走,完全没有这个选项,我的github代码进入setting后,连option都没有 我的是general,也没有直接找到Github Pages 然后我到油管上找了找教程,就发现了,压根就不是在setting里面下拉找到Github Pages ….主要原因是:国内的教程大多数翻译过来的、并且更新不及时、人家github网页的操作都更新了,csdn上很多教程还是很旧的。
3.在油管上搜索如何用github搭建个人博客
然后我跟着油管教程搭建了一个博客 跟着他搭发现可以用,fork了一个别人的博客到我自己仓库 然后我要把这个模板替换为自己的,我发现我直接在github网站上改,但是的博客网站上没有同步(大致原因是我fork了别人的代码 我改动代码,然后提交,需要原来的那个主人同意….然后折腾了好久,我去查了一下关于github版本管理的,大多数教程是在本地 电脑上,用命令行实现与云端代码同步的,最后我想到branch…原来如此,我把branch从原来主人的master,新建了一个我自己的, 每次我在我自己的分支修改完代码,我都要提交给自己,然后点同意,然后我就可以用这个模板了…也就是本博客的来源) 然后到自己的分支下去同意修改,同意之后会自动跳回原始主人的master分支,记得手动回到自己分支;
成功提交后还需要等一段时间,好像是github自己在检测之类的,最后刷新自己的网站,就成功了
接下来说说搭建这个博客的技术细节。
反思
折腾了一天,如果在csdn发现问题,那我是不是应该用谷歌呢、与其在无法修改模板的时候自己在猜想如何在github网页修改代码,试了一小时 不如拿一小时的时间来系统看一下github的官方文档?或者相关的教程呢?
0理论
1安装Git
安装git Windows 平台: msysGit 项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行,安装包下载地址。 官网慢,可以在国内的镜像处下载。 下载适合自己电脑配置的,例如我下载的这个,在这里下载
Mac 平台安装 Git 可以使用Mac的图形化 Git 安装工具,下载地址为: http://sourceforge.net/projects/git-osx-installer/
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
在开始菜单里找到”Git”->”Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
或者在某个文件夹下,右键就可以找到Git Bash Here
2使用
设置用户名与邮箱(用户标识) 当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
1
2
git config --global user.name "name" // 名字
git config --global user.email "123@126.com" // 邮箱
如果你传递了–global 选项,Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。
查看配置
要检查已有的配置信息,可以使用 git config --list
命令
查看系统config git config --system --list
查看当前用户(global)配置 git config --global --list
直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可
1
2
3
$ git config user.name
$ git config -e # 针对当前仓库
$ git config -e --global # 针对系统上所有仓库
3Git工作流程:
1
2
3
4
1、克隆文件和新建文件为工作目录;
2、在原有文件上添加或修改文件
3、将需要进行版本管理的文件放入暂存区域;
4、将暂存区域的文件提交到git仓库。
创建工作目录与常用指令 工作区(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。日常使用只要记住下图6个命令: 6个常用命令的使用
1Git 创建仓库
1.初始化Git仓库
1
git init
会在文件夹下新建一个.git
文件夹
.git 默认是隐藏的,可以用 ls -a 命令查看,或者打开你文件查看的隐藏
.git
文件夹下有很多文件
使用我们指定目录作为Git仓库。git init 目录名
2克隆仓库 git clone
1
git clone <仓库> <本地目录>
例如:从GitHub上克隆这个代码
克隆以下项目命令为
1
git clone https://github.com/mithi/robotics-coursework.git
执行该命令后,会在当前目录下创建一个名为robotics-coursework
的目录,其中包含一个 .git
的目录,用于保存下载下来的所有版本记录。
3提交与修改
| 命令 | 说明 | |–|–| | git add |添加文件到仓库 | | git status |参看仓库当前状态,显示变更的文件 | | git diff|比较文件的不同(比较的是暂存区和工作区中的文件) | | git commit |提交暂缓区到本地仓库 | | git commit -m “消息内容” |提交暂存区中的内容到本地仓库 -m 提交信息 | | git reset| 退回版本 | | git rm | 删除工作区文件| | git mv |移动或重命名工作区文件 |
提交日志 | 命令 | 说明 | |–|–| | git log |查看历史提交记录 | | git blame <file> |以列表形式查看制定文件的历史修改记录 |
4远程操作
| 命令 | 说明 | |–|–| | git remote |远程仓库操作 | | git fetch |从远程获取代码库 | | git pull|下载远程代码并合并 | | git push |上传远程代码并合并 |
测试案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
smile@DESKTOP-VLG0H58 MINGW64 /f/Code/GitHub/repository (master)
$ cd robotics-coursework/
smile@DESKTOP-VLG0H58 MINGW64 /f/Code/GitHub/repository/robotics-coursework (master)
$ touch readme
smile@DESKTOP-VLG0H58 MINGW64 /f/Code/GitHub/repository/robotics-coursework (master)
$ git add readme
smile@DESKTOP-VLG0H58 MINGW64 /f/Code/GitHub/repository/robotics-coursework (master)
$ git commit -m '第一次提交'
[master 55d6d34] 第一次提交
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 readme
5Git 分支管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
6Git 查看提交历史
1
2
3
git log #查看历史提交记录。
git blame <file> #以列表形式查看指定文件的历史修改记录。
git log --oneline #来查看历史记录的简洁的版本。
2.Git 远程仓库(Github)
1添加远程库
要添加一个新的远程仓库,<shortname>
是你给这个远程分支起的名字,这个名字只会在本地起作用、本例以 Github 为例作为远程仓库,如果你没有 Github 可以在官网 https://github.com/
注册。:
1
git remote add [shortname] [url]
配置Git验证信息:使用以下命令生成 SSH Key:
1
ssh-keygen -t rsa -C "your_email@youremail.com"
后面的"your_email@youremail.com"
改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
我在repository
文件夹下创建了一个remote
文件夹,然后在文件夹中右键git bash here
1
2
3
4
git remote add remote1 https://github.com/10179013
ssh-keygen -t rsa -C 10179013@mail.ecust.edu.cn
1
/c/Users/52595/.ssh/id_rsa
注意,这里双击可能打不开,报错pub格式的文件打开报错:Publisher无法打开文件 解决办法
解决方法
1、打开powershell窗口
输入type id_rsa.pub
就可以获得了,复制内容就可以去粘贴使用
把刚刚在powershell里面的添加进去,就有了 为了验证是否成功,输入以下命令:
1
ssh -T git@github.com
以下命令说明我们已成功连上 Github
之后登录GitHub后点击” New repository “ 如下图所示: 之后在Repository name 填入 remote-git-test(远程仓库名) ,其他保持默认设置,点击”Create repository”按钮,就成功地创建了一个新的Git仓库: 创建成功后,显示如下信息:
1
2
Quick setup — if you’ve done this kind of thing before
Get started by creating a new file or uploading an existing file. We recommend every repository include a README, LICENSE, and .gitignore.
…or create a new repository on the command line
1
2
3
4
5
6
7
echo "# remote-git-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:10179013/remote-git-test.git
git push -u origin main
…or push an existing repository from the command line
1
2
3
git remote add origin git@github.com:10179013/remote-git-test.git
git branch -M main
git push -u origin main
…or import code from another repository You can initialize this repository with code from a Subversion, Mercurial, or TFS project. 以上信息告诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库。 现在,我们根据 GitHub 的提示,在本地的仓库下运行命令:
2创建README.md文件并写入内容
1
2
3
4
5
6
7
echo "# remote-git-test" >> README.md
git init #初始化
git add README.md #添加'README.md'文件
git commit -m "first commit" #提交并备注信息
git branch -M main
git remote add origin git@github.com:10179013/remote-git-test.git #提交到GitHub
git push -u origin main
过程如下:
在本地电脑目录中多了这些
刷新网页,在云端的GitHub也有了README.md
3在云端修改README.md
文件
4将云端上的内容同步到本地电脑上
1
git fetch origin
以上信息”76f87d9..5130c04 main -> origin/main” 说明 main分支已被更新(有的时候终端是在master的情况下,将本部分的main
替换为master
),我们可以使用以下命令将更新同步到本地:
1
git merge origin/main
我们查看本地电脑上的 README.md 文件内容: 也可以用命令行查看
1
cat README.md
5推送到远程仓库
推送你的新分支与数据到某个远端仓库命令:
1
git push [alias] [branch]
以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,实例如下:
1
2
3
4
touch runoob-test.txt # 添加文件
git add runoob-test.txt
git commit -m "添加到远程"
git push origin main # 推送到 Github,执行完这一步,本地文件才真的传到云端上了
过程如下:
6删除远程仓库
删除远程仓库你可以使用命令:
1
git remote rm [别名]
实例:
我的是git@github.com:10179013/remote-git-test.git
1
2
3
4
5
6
7
git remote -v
# 添加仓库 origin2
git remote add origin2 git@github.com:10179013/remote-git-test.git
git remote -v
# 删除仓库 origin2
$ git remote rm origin2
$ git remote -v
过程如下