Code Monkey home page Code Monkey logo

blogs's Introduction

Hi there 👋

Yongdong's GitHub stats

blogs's People

Watchers

 avatar

blogs's Issues

博客转移

经过一晚上的艰苦奋斗,hexo+github page搭建的独立博客搭建成功,欢迎大家访问新博客.

ubuntu使用笔记

  • 删除软件及其配置文件

    sudo apt-get --purge remove

  • 修改bashrc

    gedit ~/.bashrc
    source ~/.bashrc

  • 修改jdk高版本(如jdk8)

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java8-installer

  • Ubuntu打开多个工作区

    Appearance->Behavior->Enable workspaces(check)

catkin_make编译找不到dxl_control

拷贝的成功的代码,在自己电脑却编译失败,发现如下两个原因:

1. 先编译msgs的文件或文件夹,后编译其他文件,因为其他文件可能会用的msgs。

2. 编译器无法访问/usr/local/include/dynamixel_sdk_linux/

  • 编译结果:

image

  • 解决方法

$ sudo chmod 777 /usr/local/include/dynamixel_sdk_linux/

  • 成功后编译结果

image

ubuntu下byobu使用方法

byobu是一个非常好用的Terminal multiplexer,常用快捷键如下:

  • F2 创建新的窗口
  • shift+F2生成水平分隔
  • ctrl+F2生成垂直分隔
  • ctrl+shift+F2生成新会话
  • F3 回到先前窗口
  • F4:跳到下一个窗口
  • shift+F3在一个窗口的分隔中回到上一个子窗口,可循环
  • shift+F4在一个窗口的分隔中回到下一个子窗口,可循环
  • F5 重新加载文件
  • F6 释放该次对话并退出Byobu环境,回到当前终端窗口
  • F7 进入 复制/回滚模式
  • F8 重新命名一个窗口
  • F9 启动配置窗口

Ubuntu下使用git

初次使用

  • 在目录中初始化 git init
    (查看所有隐藏文件ls -ah)

  • 查看仓库当前状态git status

  • 本地仓库连接github

  1. 本地创建SSH:ssh-keygen -t rsa -C "[email protected]" (一路回车即可)
  2. github创建仓库:登陆GitHub,打开“Account settings”,“SSH Keys”,然后,点“Add SSH Key”,填上Title,在Key文本框里粘贴id_rsa.pub文件的内容:
cd .ssh/
gedit id_rsa.pub

image
然后点击“Add Key”。
3. 将本地仓库连接github仓库。
先进入本地目录,执行git remote add github https://github.com/wyd0817/Snake-like-robot-with-100-links.git
注:git给远程库起的默认名称是origin,当有多个远程库,可以使用不同的名称来标识不同的远程库。因此我将创建仓库时复制的git remote add origin https://github.com/wyd0817/Snake-like-robot-with-100-links.git改为git remote add github https://github.com/wyd0817/Snake-like-robot-with-100-links.git

查看远程库信息:git remote -v
删除已关联的远程库:git remote rm origin
4.将全部文件添加到暂存区:git add .
将暂存区所有内容提交到当前分支:git commit -m "multiple XL-320 is OK! "
添加暂存区时出现错误执行如下两条命令:
git config user.name wyd0817
git config user.email [email protected]
5.将本地仓库的所有内容推送到远程库上:git push -u github master
同样将复制的git push -u origin master改为git push -u github master

时光机穿梭

  • 查看仓库当前的状态:git status
  • 查看工作区和暂存区的差别:git diff
  • 查看暂存区和版本库的差别:git diff --cached
  • 查看工作区和版本库的差别:git diff HEAD

可以查看工作区和版本库的差别

  • 显示从最近到最远的提交日志:git log

  • 单行显示从最近到最远的提交日志: git log --pretty=oneline

  • (HEAD指针)回退到上一个版本:git reset --hard HEAD^

  • (HEAD指针)到制定版本:git reset --hard 6d51410(1.版本号没必要写全,前几位就OK,Git会自动去找2.含有版本号的命令行窗口没有被关掉)

  • 如果不小心将命令行关了,可以使用命令:git reflog

  • image

  • 丢弃工作区的修改:git checkout -- file

  • 丢弃暂存区的修改:git reset HEAD file

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,使用版本回退,不过前提是没有推送到远程库。

  • 从版本库中删除文件:git rm(然后使用git commit -m "remove test.txt"提交到本地仓库)
  • 删错了,把误删的文件恢复到最新版本:git checkout -- test.txt
    git checkout:用版本库里的版本替换工作区的版本

分支管理

  • 查看分支:git branch
  • 创建分支:git branch <name>
  • 切换分支:git checkout <name>
  • 创建+切换分支:git checkout -b <name>
  • 合并某分支到当前分支:git merge <name>
  • 禁用Fast forward合并分支:git merge --no-ff -m "merge with no-ff" dev
  • 删除分支:git branch -d <name>
  • 强行删除没有被合并的分支:git branch -D <name>
  • 查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit
  • 将当前分支暂时储藏:git stash
  • 查看储藏的分支:git stash list
  • 恢复暂时储藏分支:git stash apply(恢复后,stash内容并不删除,需要用git stash drop来删除)
  • 恢复暂时储藏分支并删除stash内容:git stash pop
  • 查看远程库的信息:git remote
  • 查看更详细的远程库的信息:git remote -v
  • 推送master分支:git push origin master
  • 推送dev分支:git push origin dev

标签管理

给最新提交的commit打标签

  1. 切换到需要打标签的分支上:git branch -> git checkout master
  2. 创建标签:git tag <name>

给历史提交的commit 打标签

  1. 找到历史提交的commit id:git log --pretty=oneline --abbrev-commit
  2. 创建标签:git tag

创建带有说明的标签,用-a指定标签名,-m指定说明文字:git tag -a v0.1 -m "version 0.1 released" 3628164

通过-s用私钥签名一个标签:git tag -s v0.2 -m "signed version 0.2 released" fec145a

查看标签:git tag(标签不是按时间顺序列出,而是按字母排序的)

查看标签信息:git show <tagname>

查看具体标签说明:git show <tagname>

删除打错的标签:git tag -d v0.1

推送标签到远程:git push origin <tagname>

推送所有尚未推送到远程的本地标签:git push origin --tags

删除远程标签

  1. 从本地删除:git tag -d v0.9
    2.从远程删除:git push origin :refs/tags/v0.9

配置别名

st表示status,co表示checkout,ci表示commit,br表示branch:
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
用git unstage test.py撤销修改:git config --global alias.unstage 'reset HEAD'
用git last就能显示最近一次的提交:git config --global alias.last 'log -1'
用git lg显示分支合并情况:git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用,如果不加,那只针对当前的仓库起作用。
每个仓库的Git配置文件都放在.git/config文件中。
eg:以后提交就可以使用:git ci -m "bala bala bala..."

参考:严重参考廖雪峰的官方网站

vim常用命令

vim三种模式:命令模式,输入模式,底行模式(与命令模式差一个回车)

  • 保存退出 esc+ :wq +回车

  • dd 删除某一行

  • vim abc 光标在第一行

  • vim +abc 光标在最后一行

  • vim +3

  • 保存退出 esc+ :wq +回车

  • dd 删除某一行

  • vim abc 光标在第一行

  • vim +abc 光标在最后一行

  • vim +3 abc 光标在最后一行

  • vim +/cysy abc 光标最第一个cysy所在行(命令 n 可切换到其他行的cysy)

  • vim aaa bbb ccc 默认编辑aaa文件

  • 向下切换 :n

  • 向上切换 :N 或者:prev

  • 底行模式常用命令(可以连用)

  • :w 将修改从内存写入硬盘(其实就是保存,O(∩_∩)O哈哈~)

  • :q 退出当前编辑器打开文件

  • :!强制执行

  • :ls 列出当前编辑器打开的全部文件

  • :15 把光标快速定位到15行

  • /xxx 从光标开始向后搜索xxx字符串

  • ?xxx 从光标开始向前搜索xxx字符串

  • 命令模式常用指令

  • h 光标左移

  • l 光标右移

  • j 光标下移

  • k 光标上移

  • crl+f 向下翻页

  • crl+b 向上翻页

  • crl+d 向下翻半页

  • crl+u 向上翻半页

  • dd 删除光标所在行

  • o 在光标所在行的下方插入一行并切换到输入模式

  • yy 复制光标所在的行

  • p 在光标所在行的下方粘贴

  • P 在光标所在行的上方粘贴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.