一、三种网页语言
HTML
- ( HyperText Markup Language )超文本标记语言,是一种用于定义网页每个组成成分的程式语言(侧重内容)。你可以利用它来定义网站中的文章内容、标题、连结、图片等,让浏览器知道网站整个架构的呈现。
- html代码都是成对出现的,一个标注开头,一个标注结尾。固定格式为: `<html>
# 所有输出的文字都被 <body></body>俩包围着。 </html>`
- 元素定义了 HTML 文档的主体。 这个元素拥有一个开始标签 以及一个结束标签 。 元素内容是另一个 HTML 元素(p 元素)。
CSS
- CSS (Cascading Style Sheets)层叠样式表,是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。(侧重形式)。换句话说,它就是能为你的网站修改字体样式、颜色、网页背景、甚至是华丽的动画与 3D 效果、让你增添设计感的工具。
HTLM和CSS
- 区别。HTML是标记语言,用不同的标记对应不同的网页成分;CSS是样式语言,不包含任何标记。
- 关系。 HTLM和CSS的关系:
- CSS代码可以写在HTML的标记内,可以集中写在HTML标记
- CSS代码也可写在一个独立的文件内,然后被HTML的标记调用。
- CSS可以定义很多HTML标记无法定义的效果。
javascript
- javascript用以定义行为(动态网页?静态网页暂时不需要用到)。
二、Git的安装和配置
Step1 安装软件
- 安装git http://git-scm.com/downloads
- 安装一个支持markdown的文本编辑器,例如atom,https://atom.io/;
Step2 Github和coding在线操作
部署博客的主机选择
- 1、github,github在线博客库生成
- 2、coding
Step3 配置SSH连接GitHub
- Github要求每次推送(push,本地推送到远程仓库)时候都要输入账号密码,用以验证你是否为合法用户。
- ssh是一种安全的传输模式. 为了省去每次都要输入密码的步骤,采用shh公钥,也就是sshkey来验证你是否为合法用户.
-
具体操作是在本地电脑生成了一个唯一的ssh公钥和私钥。公钥放到github上面,当你推送的时候,git就会验证你的私钥是否跟github上面的公钥相匹配——正确就认为你是合法的,允许推送。sshkey可以理解为是你的身份标识,放在github上面的项目内容别人是可以截获的,但是你本机的私钥别人就无法截获。这样sshkey就可以保证每次传输都是安全的。
- 教程 配置SSH连接GitHub
Step4 本地初始化(init)
- 建立本地分支 (master)。
git init git clone + 远程仓库地址
-
注意,Github默认使用了https方式来push代码,这样会导致每次push的时候都需要输入用户名和密码。虽然可以在~/.netrc文件里设定用户名密码,不过这样的风险在于密码是明文存放在这个文件里的,比较容易泄露。如果我们改为SSH方式就可以避免该问题。所以最好在克隆的时候在github上选择ssh(clone的地址下面有)对应的URL。
- http2SSH。 如果是已经克隆好的只需要修改config中remote的存储信息。为此在shell终端 输入
Git remote -v
可以看到形如以下的返回结果
origin https://github.com/username.git (fetch) origin https://github.com/username.git (push)
现在把它换成ssh方式就可以了
先删除:git remote rm [name]
再重新添加:git remote add origin [name]
此时我们看到https已经改为了SSH方式 origin git@github.com:username.git (fetch) origin git@github.com:username.git (push
Step3 选择什么静态网页生成工具?
具体使用什么工具来生成本地的静态网页并且推送到github?
- amWiki. 最简单! http://www.qdfuns.com/notes/30959/43d2abc7d3aedcd32b983347f9572af6.html
需要注意的是,amwiki 可以同时在 Atom 编辑器和 node.js npm 的命令行两个平台工作,即既可以作为atom的一个插件运行,也可以作为nodejs的一个全局模块运行。
-
Hexo. 最复杂! hexo是一款基于Node.js的静态博客框架。与amwiki的区别在于,hexo只向远程仓库推送本地生成的静态网页,源文件并不推送。所以设置起来很麻烦。
-
jekyll。推荐!! 和amwiki类似,比amwiki复杂一点,优点是有较多的主题可以选择。不像amwili只能默认主题。jekyll的原理是把源文件上传到github,由github生成网页,所以跨电脑写作很方便,不用像hexo一样操碎了心。
三、 Github/Coding 基本术语
1. 基本存储单位:仓库(repository)
存储代码的结构,不同于常见的windows目录只存储保存的文件,其还记录对于代码的各种操作(仅限于文本文件),例如增加、删除、修改等等,以便后来跟踪、修改或还原。
远程仓库(remote),远程仓库一般命名为源(origin)。
- 查看当前remote: git remote -v 如果没有需要添加remote:git remote add [name] [url],添加后存储在git/config文件中。
- 定义origin:git remote add origin [url]
- 删除远程仓库:git remote rm [name] 如 git remote rm origin 删除远程的origin连接
- 修改远程仓库:
git remote set-url --push [name] [newUrl]
- 拉取远程仓库到本地:
git pull [remoteName] [localBranchName]
- 推送本地修改到远程仓库:
git push [remoteName] [localBranchName]
如果定义好了origin(本地仓库一般默认为master),则可以写为:git push origin master
分支仓库:master(主分支)+ 其他分支(branch)
- 查看本地分支:git branch
- 查看远程分支:git branch -r
- 创建本地分支:git branch [name]
2. 工作流(Workflow),推送和下载
推送本地更新到远程仓库(Push)
-
step1: git add [filename] or git add .
将工作目录下的文件提交到暂存区(stage area)。暂存区的用来准备一个提交,但可以不用把工作目录中所有的修改内容都包含进来。
git status # 查看本地仓库的修改状态 -
Step2: git commit -m “代码提交信息” 将改动提交到HEAD,但是还没有到远程仓库。 HEAD是一个指向t当前版本的指针。
通过改变HEAD的指向,我们可以退回到历史中的某个版本。
git log命令显示最近的提交日志,显示顺序为最近到最远。
请记住,因为前两步的命令只在本地运行,我们可以按自己需求反复操作多次,而不用担心远程仓库上有了什么操作。
- Step3:git push origin master
将HEAD中的改动提交到远程仓库。可以把 master 换成你想要推送的任何分支。
***
如果push失败,输入 git push origin master 提示出错信息:error:failed to push som refs to ……. 解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来进行合并
2、再输入$ git push origin master *** 如果pull失败 提示出错信息: You have not concluded your merge (MERGE_HEAD exists) 可能是因为在你以前pull下来的代码没有自动合并导致的.
有2个解决办法: 1.保留你本地的修改 git merge –abort git reset –merge
合并后记得一定要提交(push)这个本地的合并, 然后再获取线上仓库
git pull
2.下载线上代码版本,抛弃本地的修改 不建议这样做,但是如果你本地修改不大,或者自己有一份备份留存,可以直接用线上最新版本覆盖到本地
git fetch –all git reset –hard origin/master git fetch
下载远程仓库内容到本地(Pull)
要更新你的本地仓库至最新改动,执行:
git pull
以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行:
git merge
四、Git多人协作
参考教程: https://www.cnblogs.com/zhaoyanjun/p/5882784.html 一句话,就是需要一个人建立一个团队,担任队长。队长先邀请队员入队,然后给队员分配读写权限。然后队员就可以读写push了。
Git突然连接不上time_out
inside the .ssh folder Create “config” file
``Host github.com User git Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 443
Host gitlab.com Hostname altssh.gitlab.com User git Port 443 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa``