利用 git 进行更加高效规范的开发

写在前面

写本文的原因:由于转岗做一个了解甚少的行业(IC方面的EDA开发)。最近在思考未来怎么规划更好,需要学习哪些东西来弥补。是否应该先学习一些知a识以备转岗,同时是否应该规划出未来的学习路线。和上司沟通了之后,他提出了一些较好的建议,我加上一些自己的想法,写出来也给一些转岗的人员一些思路(也是抛砖引玉,能够了解到更多大佬的见解):

  1. 不要试图学习一些东西来等待未来工作的需要,而是从需求中来进行学习
  2. 从提升个人的效率的方面进行学习(例如Linux技术等)
  3. 其次多了解行业的广度
  4. 由于2中个人效率的提高,可以更快的从项目中了解行业的深度

以下是本人在学习工作中遇到的困难,面向百度谷歌记录下来的一些提升效率的小技巧,遇到了就持续更新进来。
写文章的目的也是为了监督自己,做技术最害怕的就是停留在自己的小圈里,不提升学习一些新技术。

git使用

git在项目中使用非常多,掌握好git的技巧可以事半功倍的完成开发

git项目搭建方面

  1. 使用github gitee gitlab等托管代码
  2. 首先将ssh公钥加入到设置中
  3. 创建仓库,并且pull下代码

    个人工作使用方面

    提交代码

  4. 确定好本次分支的需求
    1
    2
    3
    4
    # 先做pull确保使用的是最新分支
    git pull origin/<远程主分支(最好为主分支)>
    # 以当前分支为模板创建并且检出到该分支
    git checkout -b <分支名>
  5. 修改完代码之后的事情
    1
    2
    3
    4
    5
    git add <code>
    git commit -m "本次提交的信息"
    git push origin <分支名>
    # 若遇到冲突,在本次分支做merge,再做上面的事情
    git merge master
  6. 到远程merge本次commit

查看相关修改

  1. 使用git diff 查看相关代码的异同。在本分支commit了之后,常使用git diff origin/<分支名>来比较本次修改的内容与远程的<分支名>的异同
  2. 使用git blame 查看相关代码是何时何人做的提交

查看信息与分支切换

  1. 使用git status 查看代码修改情况
  2. 使用git branch查看本地分支,加-a参数为本地远程所有分支
  3. 使用git checkout <分支名>切换到相应分支

版本信息

  1. git log来查看历史的提交版本
  2. git reset --hard <commit ID> 来回退版本

    submodule问题

    当项目中存在submodule时候,在做每次分支代码时,确保用到最新的submodule,使用以下代码
    1
    git submodule update

同时处理多个分支

在开发中,当前分支做了一些修改之后,突然接到任务要处理其他的情况。这时应该首先考虑两个事件的优先级。确定好之后,

  1. 使用git stash来保存住当前分支的快照
  2. 到优先级高的任务处理
  3. git checkout <之前的分支>, 使用git stash pop拿出

文件相关

查找

  1. 工作中遇到了需要通过名字定位到文件的需求,但是有时候文件名字也没有记清楚,通过以下命令来完成这个操作
    1
    2
    # 使用通配符* ? 等实现模糊查找
    find <directory> -name *aaa*
  2. 查找文件里面的内容
    1
    2
    3
    4
    5
    grep "search content" filename1
    # 查找当前目录下所有的文件内容
    grep "search content" *
    # 递归查找
    grep -nr "search content" *

    编辑(vim)

    有时候需要使用vim进行编辑,vim真的太强大了!!
    W3Cschool
    在这里插入图片描述

分屏操作

查找定位跳转

Shell脚本

gdb

开发规范

docker

正则表达式

cmake

C/C++语言

string的处理

情景一

输入带空格的一串英文,将每个单词存入向量之中。即每个向量的元素是一个string

在询问东哥得到解决方法

1
2
3
4
5
6
7
8
9
10
11
void testVector3()
{
string s1;
vector<string> s2;
char ch = ' ';
while (ch != '\n') {
cin >> s1;
ch = getchar();
s2.push_back(s1);
}
}

总结收获
cin 用法介绍
getchar用法介绍

学习网站

菜鸟教程