美文网首页
2016-10-24 bug 笔记

2016-10-24 bug 笔记

作者: Sunny君907 | 来源:发表于2018-02-25 14:08 被阅读0次

1. 关于合入代码冲突情形分析

问题: 对一个文件进行多个修改B和C,需要分开提交,提交前更新代码为服务器最新节点A,合入B后,服务器最新节点为B,合入第二个修改C时冲突,因为第二个修改C所在的节点还在A那里

解决方法 : 当遇到需要对一个文件进行多个修改多个提交时,先提交一个合入后,再提交另一个,不能再未合入前同时提交

2. 在编译****Android****的时候,经常看到这样的命令

** make -j8 2>&1 | tee build.log **

其中 make 是编译命令,

-j8 这里的 8 指的是线程数量,就是你要用几个线程去编译这个工程,一般会是 CPU核心数的2 倍。

提示:开多了会卡死的!!!

2是标准错误,&1是标准输出,2>&1意思就是将标准错误输出到标准输出中。

如果没有2>&1,只会有标准输出,没有错误; tee的作用同时输出到控制台和文件

make > build.log 是将所有标准输出到这个文件中,并没有定义标准错误应该是定义到了标准输出,也就是说如果make执行出现错误,那么就不会写到 build.log中,而是输出到屏幕上,

2>&1是错误和结果都重定向到build.log中!

可以到根目录看到 build.log

3 . git stash****恢复

首先我先给大家讲一下我是如何丢弃代码的: 1.git stash``将写好的文件暂存缓存区 2\. git pull origin develop``从``develop``分支下载最新代码 3\. 发现没啥冲突,然后准备``git stash pop 4\. 在``git stash pop``时候发现有个文件改了,然后准备继续``git stash``然后``drop``一个文件 5\. 对!你没看错!就是这里!我竟然打错了``git stash``打成了``git status``!然后!直接``git stash drop stash@{0}``然后``git stash pop``!然后!对! 没有然后了! 6\. 错误就这样发生了,今天刚写了一天的代码啊,我凑!不行!不能怂,就是干!打开度娘,哎,别说,还真有人解决了这个问题,顿时。。。心花路放啊! 7\. 好,现在将方法告知!采用以下命令,即可找回丢弃代码! 8\. 首先``git fsck --lost-found``这个就是可以看下自己最近的一些删除的提交。 然后找到上述你刚才``git stash drop stash@{0}``时成功删除的``id``。例如: Dropped stash@{0} (e2c07caec2b995ba75ce1abd15796c6f1686d532) 然后拷贝``e2c07caec2b995ba75ce1abd15796c6f1686d532``查找``git fsck --lost-found``列出的删除的提交``id``, 如果有恭喜你,离找回只差一步,你可以先用 git show e2c07caec2b995ba75ce1abd15796c6f1686d532``看一下是不是你丢弃的改动文件, 如果是,直接``git merge e2c07caec2b995ba75ce1abd15796c6f1686d532``即可找回! 后来想想其实这次丢失文件未尝不是一件好事,充分显示了``git``的强大,也又``get``到了新技能,简直棒棒哒! 不过还是奉劝大家,能别出错尽量别出错,万一出错出的太狠,可不一定真能再把错误纠正回来的。

4 . android中include和merge标记的区别和使用

<pre>include和merge标记的作用主要是为了解决layout的重用问题。 比如我们有三四个Activity但是他们都要用到同一个样式的标题栏,虽然我们把一样的代码copy个三四遍也没关系,但实在是太丑了,而且效率太低,如果这个标题栏要改样式,你岂不是要去三四个地方分别改动。 为了解决这个问题,android中有了include和merge标记 以下为标题栏的layout文件titlebar.xml 我们将使用Include标记重用这个文件 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width=”match_parent”

android:layout_height="wrap_content"

android:background="@color/titlebar_bg">

<ImageView android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/gafricalogo" />

</FrameLayout> 那么在那三四个activity中你可以适用Include标记
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width=”match_parent”

android:layout_height=”match_parent”

android:gravity="center_horizontal">

<include layout="@layout/titlebar"/>

<TextView android:layout_width=”match_parent”

android:layout_height="wrap_content"

android:text="@string/hello" />

...

</LinearLayout> 调用了Include之后,titlebar文件的内容就被完全嵌入到了include所指定的位置。而且你还可以在include中重新更改一些属性的值,比如 <include android:id=”@+id/news_title”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

layout="@layout/title"/> 原来layout中的wrap_content属性就被改成了match_parent属性 再来说一下merge标记 上面的include有一个副作用就是他多套了一层root节点FrameLayout ,使得再构图的时候会多花费一点时间 如果你不能容忍这个的话那你可以试一下merge标记 titlebar2.xml

<merge xmlns:android="http://schemas.android.com/apk/res/android">

<ImageView android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/gafricalogo" />

</merge> 这样行成的titlebar2文件就少了外层的root节点,merge标记可以直接成为root节点,当titlebar2被include到文件中时,merge标记就会被忽略掉,而直接由里面的ImageView取代原来include的位置。避免了冗余的layout。 所以include和merge是配合使用的,不是一个互斥的或者说是平级的关系。 再来说一个在使用这两个标签时最容易出现的问题。 经常会有同学在RelativeLayout中使用include标签 但是却发现include进来的控件无法用layout_alignParentBottom="true"之类的标签来调整。这个真的非常恼火。其实解决方法非常简单,只要你在include的时候同时重载下layout_width和layout_height这两个标签就可以了。如果不重载,任何针对include的layout调整都是无效的!</pre>

pathData里面的数据是代码简化而来的,其是就是一些画图的命令;在这里可以指定画笔移动到哪里(M),从当前位置开始画一条线到指定位置(L),画一个椭圆(A);等等,这些这些东西一时半会很难理解的,而且难于精通,建议楼主看一看SVG的内容,应为这个东西属于W3C,不仅仅适用于Android,学习它还是蛮有意义的。

5. repo sync [project]

下载最新本地工作文件,同步 repository 中的代码。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目

如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。

如果不是第一次运行 repo sync , 则相当于 更新 和 自动合并 动作;

repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行 git rebase --continue

6. W5Lite cleaninstall****后增量编译无****scatter****文件生成

删除 W:\W5Lite\out\target\product\rlk6580_we_m\obj\PTGEN

相关文章

  • 2016-10-24 bug 笔记

    1. 关于合入代码冲突情形分析 问题: 对一个文件进行多个修改B和C,需要分开提交,提交前更新代码为服务器最新节...

  • 生活与数学——在饼干制作活动中学习加减乘除

    Title: 数学与生活Slug: mathcookieDate: 2016-10-24 13:52Categor...

  • HTTPS 小记

    title: HTTPS小记date: 2016-10-24 23:58:06tags: dailycategor...

  • 2016-10-24

    我越来越不知道需要男朋友的理由了,今天自己一口气装完桌子之后,成就感满满,突然就想拍个照片发朋友圈,说句类似”看来...

  • 2016-10-24

    感觉我看的剧清水的不要不要的,我的世界还真是一片祥和啊~看完之后总觉得中间缺点什么。。。 现在都是预告和花絮比正片...

  • Conference notes: The Bug Hunter

    youtube上 bug hunters methodology的笔记 转载别人的笔记 做一下记录 回头我在慢慢整...

  • Python 学习笔记 033

    续学习笔记 031 哎呀,出来好多的错,找完Bug拍Bug,拍完继续做项目 加油ヾ(◍°∇°◍)ノ゙ 11.程序未...

  • 为什么在实际的 kaggle 比赛中 gbdt 和 random

    2016-10-24 马超Terminal SOTON数据分析转载:https://www.zhihu.com/q...

  • 2019-04-22

    关于处理线上bug一些小笔记 1、使用xcode自带的线上bug记录信息的功能 步骤1:使用打开xcode->wi...

  • bug笔记-BufferedWriter()

    问题:bw.flush()注释掉之后,控制台输入的数据无法写入“a.txt”文档中。 原因:疑似每次while循环...

网友评论

      本文标题:2016-10-24 bug 笔记

      本文链接:https://www.haomeiwen.com/subject/akdrxftx.html