之前使用版本控制工具Git,经常的命令是这些:

  • git clone
  • git branch
  • git checkout
  • git status
  • git add
  • git commit
  • git fetch
  • git pull
  • git merge
  • git push

突然让给版本打个tag,这什么鬼,只是知道基本这个命令,之前基本没使用然后特意翻出来看看

tag

add tag

git tag v1

show tag list

git tag

show format log:

git log --pretty=oneline

quit git log

:q

add tag on commitID(get from git log)

git tag v2.0 commitID

show commit information by tag_name

git show v2.0

checkout branch with tag_name

git checkout -b branch_name tag_name

diff

比较与上次提交的差异

git diff

版本差异比较,如果是统计一下有哪些文件被改动可以使用’–stat’ 参数

比较与其他分支版本之间的差异:

git diff other_branch

比较任意两个版本之间的差异:

git diff master..test

reset

上一个版本就是 HEAD^,上上一个版本就是 HEAD^^,或者 HEAD~2,往上50个版本 HEAD~50

回退所有内容到上一个版本

git reset HEAD^  

回退所有内容到某个版本

git reset --hard commitID

如果后悔了,Git提供了一个命令用来记录你的每一次命令

git reflog

可以找到commitID,然后 git reset –hard commitID

Rainy Night,秋分

秋分

在开发React Native 项目时候,选择Sublime Text编辑器作为开发工具,相对来说sublime轻巧流畅,代码高亮,丰富的插件写写React Native差不多可以了。

1.下载

下载地址:Sublime Text3 ,选择相应平台下载即可。

2.Package Control

想方便的安装插件首先得安装package control,可通过快捷键ctrl+`,调出console,然后粘贴如下代码,点击回车等待安装。

import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

3.安装插件

快捷键Ctrl+shift+P打开安装界面,选择install package,稍等一会儿弹出插件搜索界面,输入插件名称
选择即可安装,react native 相关插件

  • Babel
  • Emmet
  • Termina
  • JsFormat

4.日常快捷键

MacOS:

  • command+P 快速查找,输入@查找函数,输入#匹配文本
  • command+D 多行游标,选中多个当前文本同时编辑
  • command +F 查找内容
  • command +Shift+F 查找并替换
  • ctrl+command+上下箭头 移动当前行
  • command+L 选行,可以此选择下行
  • command+shit+L 选多行
  • command + W 关闭当前窗口
  • command + N 新建
  • ctrl+G 调转到行号处
  • command + Enter 可以在当前行下新建一行
  • command + Shift + Enter 可以在当前行上面添加一行
  • command + Shift + D 复制当前行

Windows:

  • ctrl+P 快速查找,输入@查找函数,输入#匹配文本
  • ctrl+D 多行游标,选中多个当前文本同时编辑
  • ctrl +F 查找内容
  • ctrl +H 查找并替换
  • ctrl+ctrl+上下箭头 移动当前行
  • ctrl+L 选行,可以此选择下行
  • ctrl+shit+L 选多行
  • ctrl + W 关闭当前窗口
  • ctrl + N 新建
  • ctrl+G 调转到行号处
  • ctrl + Enter 可以在当前行下新建一行
  • ctrl + Shift + Enter 可以在当前行上面添加一行
  • ctrl + Shift + D 复制当前行

5.设置

  • tab键空格数 Preference -> Settings-User

     // The number of spaces a tab is considered equal to  
    "tab_size": 4,  
    // Set to true to insert spaces when tab is pressed  
    "translate_tabs_to_spaces": true, 
    
  • 删除末尾空格 Preference -> Settings-User添加:

    "trim_trailing_white_space_on_save": true
    

6.开发时候大家环境要统一,因为我之前安装了JsFormat,会自动格式化代码,结果队友的代码一过来卡卡就变了形状,版本控制合并冲突他么的就上来了,特别烦的是JSX被格式化后各种报错,暗示你有空格字符串,我了个fuck,无奈之下我配合他们ctrl+shit+p->remove package->JsFormat卸载插件。

在CentOS Linux系统上安装NVM(Node version Manager

  1. 安装NVM,运行Install Script

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
    

    可以在GitHub上搜索到nvm仓库。

  2. 安装完成后会出现 Close and reopen your terminal to start using nvm 类似的信息,可以关掉终端再打开,或者运行下面的命令后即可使用nvm:

    source ~/.bashrc
    
  3. 安装验证

    nvm --version
    

    如果输出 0.31.7 那就成功了。

登录DockerHub账户

$ docker login

搜索repos

$ docker search centos

拉取centos镜像

$ docker pull centos

启动容器基于centos镜像

$ docker run -it --name react-native -p 8080:8080 centos /bin/bash

进入容器:

  • 查看存在的容器

    $ docker ps -a
    
  • 运行容器

    $ docker start containerID
    
  • 进入一个在运行的容器:

    $ docker exec -it containerID /bin/bash     
    

一系列的环境安装后,生成新的镜像:

  • 退出容器Ctrl+D|exit

  • 提交修改生成新的镜像:

    $ docker commit 0cd2240a8ae5(容器id) docker-react-native(生成的镜像名)
    

将新生成的镜像push到仓库

  • 查看镜像ID

    $ docker images
    
  • 给镜像添加tag

    $ docker tag 7d9495d03763(镜像id) jichao/docker-react-native:latest
    
  • 推送到DockerHub(如果之前没有登录需要 $ docker login)

    $ docker push jichao/docker-react-native