0 写在前面
写本文的原因:由于转岗做一个了解甚少的行业(IC方面的EDA开发)。最近在思考未来怎么规划更好,需要学习哪些东西来弥补。是否应该先学习一些知识以备转岗,同时是否应该规划出未来的学习路线。和上司沟通了之后,他提出了一些较好的建议,我加上一些自己的想法,写出来也给一些转岗的人员一些思路(也是抛砖引玉,能够了解到更多大佬的见解):
- 不要试图学习一些东西来等待未来工作的需要,而是从需求中来进行学习
- 从提升个人的效率的方面进行学习(例如Linux技术等)
- 其次多了解行业的广度
- 由于2中个人效率的提高,可以更快的从项目中了解行业的深度
以下是本人在学习工作中遇到的困难,面向百度谷歌记录下来的一些提升效率的小技巧,遇到了就持续更新进来。 写文章的目的也是为了监督自己,做技术最害怕的就是停留在自己的小圈里,不提升学习一些新技术。
1 git使用
git在项目中使用非常多,掌握好git的技巧可以事半功倍的完成开发
1.1 git项目搭建方面
- 使用github gitee gitlab等托管代码
- 首先将ssh公钥加入到设置中
- 创建仓库,并且pull下代码
1.2 个人工作使用方面
提交代码
- 确定好本次分支的需求
git pull origin/<远程主分支(最好为主分支)>
git checkout -b <分支名>
- 修改完代码之后的事情
git add <code>
git commit -m "本次提交的信息"
git push origin <分支名>
git merge master
- 到远程merge本次commit
查看相关修改
- 使用
git diff 查看相关代码的异同。在本分支commit了之后,常使用git diff origin/<分支名> 来比较本次修改的内容与远程的<分支名> 的异同 - 使用
git blame 查看相关代码是何时何人做的提交
查看信息与分支切换
- 使用git status 查看代码修改情况
- 使用git branch查看本地分支,加-a参数为本地远程所有分支
- 使用git checkout <分支名>切换到相应分支
版本信息
git log 来查看历史的提交版本git reset --hard <commit ID> 来回退版本
submodule问题
当项目中存在submodule时候,在做每次分支代码时,确保用到最新的submodule,使用以下代码
git submodule update
同时处理多个分支
在开发中,当前分支做了一些修改之后,突然接到任务要处理其他的情况。这时应该首先考虑两个事件的优先级。确定好之后,
- 使用
git stash 来保存住当前分支的快照 - 到优先级高的任务处理
git checkout <之前的分支> , 使用git stash pop 拿出
2 文件相关
2.1 查找
- 工作中遇到了需要通过名字定位到文件的需求,但是有时候文件名字也没有记清楚,通过以下命令来完成这个操作
find <directory> -name *aaa*
- 查找文件里面的内容
grep "search content" filename1
grep "search content" *
grep -nr "search content" *
2.2 编辑(vim)
有时候需要使用vim进行编辑
3 Shell脚本
4 gdb
5 开发规范
6 docker
7 正则表达式
8 cmake
|