【记不住】

git

//配置
git config user.name xx
git config user.email xxxx
//创建仓库
git init
git remote add origin url
//日常
git add .
git commit -m 'msg'
git commit --amend -m '修改的提交信息'
git rebase -i HEAD~n //在当前分支上,合并包含HEAD在内的n个提交
git push origin master
git push -f origin main
git log --oneline
git log --graph
git clone
git fetch(远程仓库->本地仓库)
git pull(远程仓库->本地仓库/暂存区/工作区)
//.gitignore
1.md //忽略1.md文件
build/ //忽略build目录下的所有文件
//回滚
git reset --hard HEAD //用本地仓库还原暂存区+工作区
git reset --hard 版本号
git reset HEAD //本地仓库还原暂存区
git checkout . //暂存区还原到工作区
git checkout <filename> //暂存区还原到工作区(某个文件)
//分支
git branch daily //创建分支
git branch -b daily origin/master //创建本地分支daily并把远程分支origin/master的最新提交作为分支daily的起点
git branch -d daily //删除分支
git branch -a -vv //显示所有分支
git checkout daily //切换分支
git checkout -b daily origin/master//功能同第2个
git branch -m old new //修改分支名称
//合并
git merge feature --no-ff //git checkout main切换到开发分支(当前分支),将feature(目标分支)上内容合并到main分支,并创建一个新的merge commit
git mergetool //merge发生冲突时,打开meld处理冲突
git commit -m "merge commit" //给merge commit提交注释
git clean -f //删除.orig文件(合并冲突时由meld创建)
//变基后合并(永远不要在主分支上变基)
git checkout daily
git rebase main # 将daily从main分支分叉的节点全部放到main最新节点后重走一遍
git merge main #将feature合并到main,此时不会产生冲突,不用no-fast-forward
//暂存
git stash
git stash list
git stash pop stash@{0}
git stash clear
//比较
git diff HEAD <filename> //查看工作区文件和仓库中该文件最新版本之间的差异
git diff feature main //比较feature和main分支代码

常用bash

编译指令

g++ -E test.cc -o test.i //预处理
g++ -S test.i -o test.s //编译
g++ -c test.s -o test.o //汇编(经过汇编器,将汇编代码转换成机器码)
g++ test.o -o test.out //链接
//静态库
ar -crv test.o libmytest.a //静态库
g++ main.cc -o main.out -l mytest.a -L . -static //静态链接 -l表示静态库名称 -L表示静态库路径 -static表示静态编译
//动态库

//vim

#删除光标到行尾
D/d$
#删除光标到行头
d0
#删除光标到文件末尾
dG
#删除光标所在行及向下2行
d2j
#批量替换
:%s/old/new/gc
#%s表示在当前文件
#old要替换的词
#new新词
#gc替换询问:
y(yes):替换当前词
n(no):跳过当前词
a(all):替换当前词及后面所有待选项
l(last):只替换当前词就停止
q(quit):退出替换模式

正则表达式

()——子表达式
\——转义
*——0个1个或多个
+——1个或多个
?——0个或1个
{m}——固定m次
{m,}——最少m次
{m,n}——至少m个,最多n个
/w——字母或数字
/d——十进制数字
/s——空格
.——任意1个字符
[abc]——一组字符(a或b或c)会产生贪婪匹配:添加?,进行 非贪婪匹配。如:g[a-z]d+?
[^abc]——除去abc以外
^——字符串是否以某字符开头
$——字符串是否以某字符结尾

a{2,3} 最少2个a最多3个a,都匹配
a^以a开头
a$以a结尾
posted @   徘徊彼岸花  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示