GIT & GITHUB
Git & Github
学习资源介绍
介绍
- 是什么
- Git 也是一个版本管理软件
- 有什么用,可以解决什么问题
- 保存历史记录
- 多人协作
- 有了 SVN,为啥要学 Git
- Git 火
- Git 相对于 SVN 来说,更强大,用户也非常多
怎么用
作者:Linux 之父:林纳斯·托瓦兹(Linus Torvalds)
- Linus 自传:只是为了好玩(Just for fun)
Git 是由一个完全极客化的一个人玩儿出来的一个东西,它的学习成本相对于 SVN 来说
有一定难度,而且没有一两年的使用经验是玩儿不明白这个东西的。
环境安装
初始化配置
$ git config --global user.email "你的常用邮箱"
$ git config --global user.name "你的名字"
$ git config --list
以上的配置,必须配置才能 commit
,否则不行。
有什么用呢?如果是你一个人玩儿,就随便了,无所谓,但是一旦是团队协作,
则你最好改为你的团队账号或者 Github 账号。
基本使用
- git init
- 创建版本管理仓库
- 如果你想要你的项目使用 git 版本管理起来,则进入该项目根目录
- 使用 git init 明林初始化一个 git 仓库
- git status
- 查看仓库状态
- git add
- 添加改动到暂存区
- git add file1 file2 …
- git add dir1 dir2 …
- git add .
- git add –all
- git commit
- 将暂存区提交到本地仓库
- git log
- 查看提交日志
- gitk
- 以图形化界面查看提交日志
工作区、暂存区、本地仓库
版本回退
# git rm --cached <file>
# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
# 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop
远程同步
- remote
- push
- pull
分支
Github
Github 就是程序员的新浪微博。
它可以让你使用社交化的方式进行编程协作、
主要作用:可以免费在线托管你的仓库
可以实现多人协作
提供了一个可视化界面(Web Page)让你能直观清晰的了解你的项目源代码
基本使用
- 注册
- 登陆
- 创建远程仓库
Github Pages
Github Pages 提供了一个免费的静态资源托管服务,可以把你的静态资源托管到这个服务上。
- 新建一个仓库
- 仓库名必须是:你的Github用户名.github.io
Hexo
教程文档:http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html
静态博客生成器
Hexo 是一个基于 Node.js 开发一个命令行程序,是一个静态博客生成器,可以用来快速构建一个个人博客。
- https://hexo.io/zh-cn/
- 安装:
npm install hexo-cli -g
hexo init 博客目录名称
- 该过程需要联网,等到一下即可
- 它有一个基本的博客模板,在 Github 上,需要联网下载
- 下载完成之后,它会自动执行
npm install
命令安装依赖包
cd 博客目录
hexo serve
- 在本地启动当前博客,可以在本地实现预览效果
hexo new 文章名称
- 不要加 .md
- 它会自动帮你加
hexo generate
- 生成静态文件
- 该命令会把所有的 md 文件以及其他资源生成到 public 目录中
- 生成结束之后可以把 public 丢到一个 Web 容器中,然后就可以直接访问了
- 就不需要依赖于 hexo 了
git remote add origin 远程仓库地址
- 在本地仓库添加一个远程仓库地址,origin 表示给该地址起了个名字
git push origin master
- 把本地仓库推送到远端仓库: