git+Github的正确姿势

14

前言

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

学习资料

1. 新手推荐

2. 帮助文档

一、github markdown语法介绍

写好 md 很重要 !!!

二、保证基本使用

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

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

$ git config --global http.proxy http://web-proxy.oa.com:8080
但是这样可以clone了。但是如果要push代码,那就麻烦了。每次都需要输入密码,接着往下看。

2. 上传前设置.gitignore 过滤

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

*.DS_Store
node_modules # 过滤项目中名为 node_modules 的文件夹,做上传例外操作
bower_components
.sass-cache
npm-debug.log
.idea
.vscode
# 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用户名和密码

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

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

git config --global credential.helper store

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

注意事项

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

三、项目 github 平台展示

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

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

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

栗子

2. github 修改项目语言显示

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

touch .gitattributes

写入:

*.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文件,添加如下代码:

[http]
postBuffer = 524288000

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

参考链接


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

Shannon · 2018年04月25日

请问可以突出一部分的截图是怎么实现的

回复

0

是说怎么显示的图片吗?

RainBow 作者 · 2018年04月25日
0

有点看懂了,哪儿不清楚呢?

RainBow 作者 · 2018年04月25日
0

就是截图里可以明显表示出一部分内容,其他地方的内容变模糊的功能

Shannon · 2018年04月26日
载入中...