Linux bash
1 | mkdir ~/.bash_plugin/ |
Mac zsh
1 | mkdir ~/.zsh_plugin/ |
心怀热血,往事成诗!
1 | mkdir ~/.bash_plugin/ |
1 | mkdir ~/.zsh_plugin/ |
git add $file_name后文件的状态git commit -m "$your_comments"后文件的状态
查看具体修改的文件列表
1 | git status |
查看特定文件具体的更改内容,并删除无意义/非必要的修改,缩小单个文件修改影响
1 | git diff $file # 查看每个文件具体的修改内容,git会精确到每一行的修改差异 |
如果整个文件的修改希望被放弃(回退为之前的状态)
1 | git restore $file # 此时git status将不会返回该文件 |
将期望上传的修改提交为Staged
此时对应文件将从
Modified状态变为Staged
1 | git add $file_path $file_fold # 支持terminal通配符 |
重复1~3步,所有必要的修改被提交为Staged状态,确保依旧保持Modified状态的文件为非运行时必须的文件
正式提交本次修改内容到仓库
此时Stage状态的修改内容应该描述了一种修改目的,例如:
- 增加并行执行能力
- 修复重复打印的bug
- 增加xxx功能
- 代码风格化
- …
为了方便后续查询更改/版本管理/版本回退/团队协作等,我们应该把这种修改目的跟随修改内容一同提交到仓库。
1 | git commit -m "你的修改目的" |
此时所有Staged文件将变为Committed,即正式成为本地Git仓库的一部分。
注:实际上,commit提交的时候,除了修改目的,git还会自动打包例如作者、日期等等信息,用于追溯仓库历史变动。
1 | git reset --soft $last_remain_commit # commit files set to stage, and other remain itself, cleanup commit to $last_remain_commit |
对于单个开发者,有时我们存在一些本地数据,或临时的脚本,甚至程序运行时自动生成的文件(例如python会自动生成__pycache__)。我们不希望将其提交到仓库中。
git add的时候,手动规避这些文件。这可能在不经意间误操作,导致仓库被上传脏数据.gitignore文件。git会自动忽略.gitignore文件中记录的文件/文件夹,且会自动应用到.gitignore文件所在目录及其子目录,支持通配符注意:.gitignore文件仅对Modified状态文件生效,即如果文件本身已经在其它状态,则不会生效
.gitignore 示例:
1 | __pycache__/ # 忽略所有__pycache__文件夹 |
注意:.gitignore文件将作为仓库的一部分,未来将对所有协作者产生影响。因此合理选取忽略范围,例如不应该在python项目向.gitignore中添加*.py`
目的:
.gitignore机制,方便git管理代码
手动合并代码
1 | git branch # 查看所有分支,*标识的分支为当前分支 |
本地仓库:用户直接coding的仓库
远程仓库:用户不可直接coding的仓库,通常位于远程,主要用于存储代码
需要在github配置对应的公钥文件
编辑~/.ssh/config
1 | HOST github.com |
适用于本地没有仓库
1 | git clone -b target git@test.github.com:test/test_rep.git # 注意域名变化 |
适用于本地已经有仓库,但是没有对应的远程分支
1 | cd test_rep # 本地仓库根目录 |
本地已经有远程分支对应的分支
1 | # git branch --set-upstream-to=origin/remote_branch local_branch_name # 可设置远程分支绑定 |
当前分支暂未绑定远程分支,创建绑定并推送
1 | git push --set-upstream origin local_branch_name |
当前已经绑定远程分支,推送Commit
相当于远程仓库被绑定的分支执行Merge操作,因此开发者应确保本地分支与远程分支无冲突
1 | git push |

用于在一个 Git 仓库中嵌套另一个 Git 仓库
添加三方仓库作为子仓库
1 | git submodule add xxxxxx.git fold/sub_rep |
更新子仓库代码与远程仓库一致
1 | git submodule init # 第一次需要,从远程同步子仓库目录信息 |
更新子仓库代码到子仓库的其它版本
1 | cd fold/sub_rep |
删除子模块
1 | git rm --cached fold/sub_rep |
意义:
这是github等网站提供的一种能力,用于辅助代码规范和正确性

很久之前写了一篇[基于kubeadm搭建k8s的文章] ,但是在复杂的实际生产环境中,从二进制构建k8s环境更容易配置符合实际需求。另一方面,kubeadm的过度自动化,并不利于我们理解k8s组件之间的关系以及交互过程。本文旨在基于k8s二进制文件,搭建一个k8s集群。
这里写的很多,如果您有时间可以仔细阅读一下,应该会有所受益。也可以安装完成以后回过头看看,也许会改变你很多想法吧!
因为重装系统事关重大,动辄电脑开不了机,所以笔者文字写的很多,尽可能详尽。
另外:微软已经官方发布装机工具,详情可见https://www.microsoft.com/zh-cn/software-download/windows10,属于傻瓜式操作了(如果您不确定您的系统是否被人重装过,最好不要用这种方式,可能出现不可预料的后果。有的人在买电脑加固态的时候,系统就已经被人动过了)。
本文还是介绍通过PE系统手动装机的方式,因为它适应性、可控性更强,能满足绝大多数读者的需求。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true