文章目录
  1. 1. 前言
    1. 1.1. 学习资料
  2. 2. 一、github markdown 语法介绍
  3. 3. 二、保证基本使用
    1. 3.1. 1. 在公司的内网如需要配置代理
    2. 3.2. 2. 上传前设置.gitignore 过滤
    3. 3.3. 3. git commit log
    4. 3.4. 4. git push 免密码
  4. 4. 三、项目 github 平台展示
    1. 4.1. 1. gh-pages 分支发布在线访问
      1. 4.1.1. 栗子
    2. 4.2. 2. github 修改项目语言显示
    3. 4.3. 3. 上传文件出错
      1. 4.3.1. 参考链接

前言

此文章是笔者在 github 使用中的一些经验性总结,学习的新姿势会同步更新,记录。

学习资料

1. 新手推荐

2. 帮助文档

一、github markdown 语法介绍

写好 md 很重要 !!!

二、保证基本使用

1. 在公司的内网如需要配置代理

github 上可以使用 https 进行访问。

1
$ git config --global http.proxy http://web-proxy.oa.com:8080

但是这样可以 clone 了。但是如果要 push 代码,那就麻烦了。每次都需要输入密码,接着往下看。

2. 上传前设置.gitignore 过滤

案例介绍,如前端 项目中充满数量庞大依赖文件的node_modules,我们不需要上传,靠package.json文件下载依赖包就可以

1
2
3
4
5
6
7
*.DS_Store
node_modules # 过滤项目中名为 node_modules 的文件夹,做上传例外操作
bower_components
.sass-cache
npm-debug.log
.idea
.vscode
1
2
# git-忽略版本控制内某些文件的修改
git update-index --assume-unchanged application/Everything/Everything.ini

3. git commit log

优雅的提交 code,为 commit 自己的每次 commit 设置好的日志, 方便日后追溯:

  • Head
    • type: feat 新特性, fix 修改问题, docs 文档, style 格式, refactor 重构, test 测试用例, chore 其他修改, 比如构建流程, 依赖管理.
    • scope:影响范围, 比如: route, component, utils, build… 可省略
    • subject:简短的提交信息
  • Body
    • what:详细做了什么
    • why: 为什么这样做
    • how: 有什么后果
  • Footer
    • 相关链接

补充:使用 svn 小乌龟提交代码没有强制需要写 commit log , 建议大家都写

4. git push 免密码

每次提交代码时需要输入用户名密码,则说明你在从仓库中 clone 代码时使用的是 HTTPS 的 key 进行拉取代码。而使用 SSH key 拉取代码时,则不需要。

(1). 创建文件 .git-credentials 存储 GIT 用户名和密码

1
2
3
4
5
6
# 创建
touch .git-credentials
# 在vim中打开
vim .git-credentials
# 文件内容
https://{username}:{password}@github.com

(2). 长期存储密码,进入 git bash 终端, 输入如下命令:

1
git config --global credential.helper store

经过这样操作后就可以免密登录

注意事项

文件结构要与初始化连接 github.gitconfig文件在同级别目录下

三、项目 github 平台展示

1. gh-pages 分支发布在线访问

在自己的 github 项目上添加gh-pages分支,并保证里面有需要展示的代码,以index.html作为入口就 ok,可以展示项目了

  • 参考:将本项目下的 dist 文件夹内容发布到远端的 gh-pages 分支
1
git subtree push --prefix=dist origin gh-pages

栗子

2. github 修改项目语言显示

在项目根目录添加文件名为.gitattributes的文本文件:

1
touch .gitattributes

写入:

1
2
3
*.js linguist-language=javascript
*.css linguist-language=javascript
*.html linguist-language=javascript

意思就是将.js.css.html当作 javascript 语言来统计,简单有效

查看案例,将展示的语言变为javascript=> King-of-glory

3. 上传文件出错

(1). git 推送出现 “fatal: The remote end hung up unexpectedly”

原因:上传的文件过大,单个文件均小于 100M
解决办法:在项目.git文件夹下寻找config文件,添加如下代码:

1
2
[http]
postBuffer = 524288000

(2). 用于上传单个文件大于 100M 失败时使用

参考链接

文章目录
  1. 1. 前言
    1. 1.1. 学习资料
  2. 2. 一、github markdown 语法介绍
  3. 3. 二、保证基本使用
    1. 3.1. 1. 在公司的内网如需要配置代理
    2. 3.2. 2. 上传前设置.gitignore 过滤
    3. 3.3. 3. git commit log
    4. 3.4. 4. git push 免密码
  4. 4. 三、项目 github 平台展示
    1. 4.1. 1. gh-pages 分支发布在线访问
      1. 4.1.1. 栗子
    2. 4.2. 2. github 修改项目语言显示
    3. 4.3. 3. 上传文件出错
      1. 4.3.1. 参考链接