GitHub学习笔记

环境:Ubuntu 16.04


初始配置命令

1. git config --global username "***" 配置本地用户
   git config --global usermail "**@***" 配置邮箱
2. git init 将目录初始化为Git仓库
3. git clone [url] 复制一个Git仓库

基本快照

Git的工作就是创建和保存你的项目快照及与之后的快照进行对比

1. git add 添加文件到缓存
2. git status 查看项目当前状态
   -s 获得简短的输出结果,其中第一栏为缓存,第二栏为工作目录
3. git diff   尚未缓存的改动
   --cached 查看已缓存的改动
   HEAD 查看已缓存与未缓存的所有
   -stat 显示摘要而非整个diff
4. git commit 记录缓存内容的快照
   -m '***' 提供提交的注释(若无-m则以VIM打开注释信息)
   -a 自动在提交前将已记录修改的文件放入缓存去
5. git reset HEAD 取消缓存已缓存内容
6. git rm 将文件从缓存区移除(默认从缓存及目录中删除)
   --cache:工作目录中保留

分支与合并

1. git branch 列出可用的分支
2. git branch *** 创建***分支
3. git checkout 切换分支
   -b 创建新分支,并立即使用
   -d 删除分支
4. git merge 将分支合并到当前分支
   e.g git merge testing 将testing分支合并
5. git log 显示一个分支中提交的修改记录
   --oneline 查看简洁版
   --graph 开启拓扑图
   e.g git log --oneline erlang ^master 显示erlang分支但不在主分支的提交
6. git tag 给历史记录中某点打上标签
   -a 穿件一个带注解标签
   --decorate 查看标签
   e.g git tag -a V1.0 给最想一次提交打上V1.0的标签

分享与更新

1. git remote 列出远端别名
   -v 每个别名的实际链接
   add 添加一个远程仓库 e.g git remote add [alias] [url]
   rm 删除某别名
2. git fetch 从远端下载新分支及数据
3. git pull 从远端提取数据并合并到当前分支.即fetch后紧接着merge
4. git push 推送新分支与数据至某个远程库 e.g git push [alias] [branch]

TPS:最近在一个新建仓库中发现,初次push远程仓库时失败,提示需要先pull合并一次,合并时有提示refusing to merge unrelated histories,这是由于双方commit数据不一致引起的,在2.9.2之后的版本中需要增加一个命令git pull origin master –allow-unrelated-histories进行合并

mac平台安装virtualbox

以前我的小air一直是安装的双系统,不过随着对win平台的依赖越来越小,决定使用虚拟机来安装win7,删除双系统。
pro上面装过VM,但是由于其价格较贵,这次决定尝试用以下virtualbox。


virtualbox安装

安装很简单,大家可以去官网直接下载,然后根据步骤安装系统,网上很多就不细说了。

安装增强包(使用USB等功能必须要的)

1.官网下载名为extpack的文件包
2.直接双击安装
3.安装完成后选择Devices > USB > USB Settings;选择USB3.0(新的macbook基本都是3.0的吧)
screen-shot-2016-10-17-at-2-27-39-pm
4.进入win7系统,点击右下角的USB图标,勾选外置的USB设备,我的是TOSHIBA的移动硬盘
screen-shot-2016-10-17-at-2-31-37-pm
5.后面就进入win7普通的驱动安装

FAQ:
【1】 F:选择右下角USB连接的外设硬盘时为灰色
Q:1.查看外设硬盘是否已经挂在到mac系统,若挂载则将硬盘推出,重新挂载。
2.将当前用户加入vboxusers用户组,linux用户很简单,直接输入

sudo usermod -aG vboxusers <username>

mac用户则比较麻烦,要使用dscl命令

sudo dscl . -append /Groups/vboxusers GroupMembership $USER

【2】 F: 驱动不安装
Q:右键我的电脑(计算机)进入设备管理界面,查看USB 总线驱动是否安装。

参考
【1】:How to set up USB for Virtualbox?

WordPress安装插件需要FTP问题解决办法

安装完WP后,需要安装一个MarkDown插件,提示需要使用FTP,可是我的VPS上面根本没有FTP,平时传文件都是用的SSH,上网找找了问题,发现问题的根源是wordpress的用户没有wp-content目录的写权限,由于技术有限,决定使用比较无脑的手段来解决这个问题。

修改wp-config.php文件

在文件的最后附加以下代码

define('FS_METHOD','direct');

screen-shot-2016-10-15-at-4-40-06-pm

修改权限

网上很多文章说给文件夹权限修改755什么的,但是我的文件夹所有者是root,我的wordpress又不是root的用户,也不想给他添加进行,所以就直接改成777,每次使用完之后我在改成755或其他的。

chmod 777 -R 'path to wp-content`

参考
1.How to Update WordPress Automatically Without Using FTP

锐速初体验

安装了shadowsocks之后怎么也要安装他的黄金搭档锐速,来提高下速度


安装锐速破解版

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

卸载方法

chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

检查锐速是否运行

service serverSpeeder status

查看是否又appex0模块

lsmod

参考
【1】serverspeeder锐速一键破解安装版

shadowsocks安装

拥有VPS之后怎么可能不整一下如何上网呢!

系统:Centos 7 64bit

安装shadowsocks

yum install m2crypto 
yum install python-setuptools && easy_install pip
pip install shadowsocks

添加最新的库文件来支持新的加密算法

wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar zxf LATEST.tar.gz
cd libsodium*
./configure
make && make install

# 修复关联
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

运行

/usr/bin/ssserver -p 9000 -k www.abbswim.com -m chacha20

参考:
【1】安装shadowsocks-python并启用chacha20加密

在Vultr家安装LAMP

VPS系统Centos 7 64bit


  • 安装apache
    在终端使用yum安装
    yum install httpd
    安装完成后启动服务
    systemctl start httpd.service
    测试是否安装成功(当出现apache的默认页面时候表示安装成功
    http://your_server_IP_address/
    当需要apache服务开机启动可以执行
    systemctl enable httpd.service
  • 安装MySQL
    在Centos7中MySQL已经使用MariaDB来代替
    yum install mariadb-server mariadb
    安装后启动
    systemctl start mariadb
    进行初始化设置
    mysql_secure_installation
  • 安装PHP
    yum install php php-mysql
    启动服务
    systemctl restart httpd.service
  • 测试php服务
    新建一个php页面,默认空间在/var/www/html
    vi /var/www/html/info.php
    在里面加入
    <?php phpinfo(); ?>
    访问页面看是否能成功显示
    http://your_server_IP_address/info.php

当访问不能成功时可能是由于防火墙原因

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload