blogs's Introduction
blogs's People
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
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 启动配置窗口
ROS使用笔记
使用visual studio新建C++工程
Ubuntu下使用git
初次使用
-
在目录中初始化
git init
(查看所有隐藏文件ls -ah
) -
查看仓库当前状态
git status
-
本地仓库连接github
- 本地创建SSH:
ssh-keygen -t rsa -C "[email protected]"
(一路回车即可) - github创建仓库:登陆GitHub,打开“Account settings”,“SSH Keys”,然后,点“Add SSH Key”,填上Title,在Key文本框里粘贴id_rsa.pub文件的内容:
cd .ssh/
gedit id_rsa.pub
然后点击“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
-
丢弃工作区的修改:
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打标签
- 切换到需要打标签的分支上:
git branch
->git checkout master
- 创建标签:
git tag <name>
给历史提交的commit 打标签
- 找到历史提交的commit id:
git log --pretty=oneline --abbrev-commit
- 创建标签: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
删除远程标签
- 从本地删除:
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.