Git备忘

0 安装与配置(Linux)
$ sudo apt-get install git
$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@example.com"

1 本地版本库
$ cd <path>         #跳转到需要初始化为仓库的目录
$ git init                 #当前目录成为工作区Working Directory
$ git add <file>    #添加文件到暂存区 stage
$ git rm <file>      #告知暂存区删除了某个文件
$ git commit -m "memo"  #提交变更到仓库Repository的 master分支
$ git status             # 查看当前状态, 哪些文件有变更,哪些文件待提交
$ git diff <file>     #查看该文件有哪些变更
$ git log                 #查看提交日志,可以看到commit id以及备注
$ git reflog              #查看命令日志
$ git reset <commit id>  #回退到指定id的提交之后的状态, id可以只写前几位
$ git reset HEAD <file>  #撤销暂存(add),即回到工作区
$ git checkout -- <file> #撤销该文件的变更,如果暂存区有就回到暂存区的状态,否则就回到版本库的状态
$ git stash      #保存现场,可以切换分支,修改,提交,而不影响现场
$ git stash list  #查看储藏列表
$ git stash apply #应用现场,  储藏列表依然存在
$ git stash pop   #弹出现场, 恢复的同时 储藏列表的记录页删除了     
$ git stash apply/pop   stash@{0} #可指定列表的某个现场

2 远程仓库
$ ssh-keygen -t rsa -C "youremail@example.com"
#根据邮箱生成SSH的公钥和私钥,在~/.ssh/目录下 id_rsa是私钥, id_rsa.pub是公钥
#登录GitHub,  添加公钥, 可以让GitHub识别本机的提交是否为本人
#创建一个Git仓库,  记下仓库地址,ssh地址是   git@github.com:<youraccount>/<repositoryname>
#https地址 是 https://github.com/<youraccount>/<repositoryname>
$ git remote add origin <仓库地址>  # origin是远程库的名字,关联本地库与远程库
$ git remote  -v #查看远程库信息
$ git push -u origin master    #提交本地库到origin远程库的master分支  -u参数在第一次用,可以关联分支
#第一次clone或者push时会有警告,需要校验github.com的RSA指纹信息是否一致
$ git clone <仓库地址>  #克隆远程库到本地当前目录

3 分支管理
HEAD 指向当前分支 主分支默认是master
每次提交后, master和HEAD都会指向新的提交状态
创建一个新的分支dev ,  HEAD和dev指向新的提交状态,而master停留在原来的状态
$ git branch #查看所有分支 带*号是当前分支
$ git branch <branchname> #创建分支
$ git checkout <branchname> #切换到指定分支
$ git checkout -b <branchname> #创建并切换到新分支
$ git checkout -b <branchname> <origin/branchname> #创建对应远程分支的本地分支
$ git merge <branchname> #合并指定分支到当前分支 Fast Forward模式是不产生新的提交状态的
$ git merge --no-ff -m <memo> <branchname>
#增加--no-ff参数禁用Fast Forward模式,相当于重新提交,因而要-m参数写备注
$ git branch -d <branchname> #删除指定分支
$ git branch -D <branchname> #对于还未合并的分支,用这个强行删除
$ git status   #查看冲突  编辑文件后 重新提交
#分支策略,master 仅用于发布稳定版  dev为不稳定的开发版,
#团队各自有分支,时不时往dev提交,到发布时再将dev合并到master
$ git push origin <branchname>   #向远程分支推送修改
#如果推送失败,说明远程分支比本地的更新   
$ git pull    #抓取远程合并到本地,如有冲突,解决冲突并提交,之后再重试push
# 如果pull提示no tracking information 则创建关联
$ git branch --set-upstream <branchname> <origin/branchname>     
$ git tag <tagname>  #给最近一次commit打上标签
$ git tag <tagname> <commitid> #给指定的提交打上标签
$ git tag -a <tagname> -m <memo> <commitid> #额外添加备注
$ git tag #查看所有标签
$ git show <tagname> #查看标签信息
$ git tag -d <tagname> #删除tag
$ git push origin <tagname> #推送本地标签
$ git push origin --tags  #推送全部未推送的本地标签
$ git push origin :refs/tags/<tagname> #本地删除标签之后可用此命令删除远程的

5GitHub 
fork 他人的开源项目,clone 到本地,push到自己的fork,向项目发起pull request
.gitignore 设置了过滤哪些文件不提交
原则是:
1.自动生成的文件,比如.class
2. 配置文件, 跟机器相关,或者是一些敏感信息
$ git config --global alias.st status   #设置命令别名

参考链接
Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
GotGitHub:http://www.worldhello.net/gotgithub/index.html

Git进阶:
日常使用 Git 的 19 个建议: http://blog.jobbole.com/96088/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值