今天这干了一天的活,虽然晚上没有干活,感觉不符合普通程序员的作息规律啊。。。
嗨呀,早上搞一个git,搞了几遍。。。
由于先开始在修改时没有想好,change完后才觉得是另外的需求,需要新开分支,同时将原本的分支reset回去。。。
先在原本分支下,git commit好,
然后checkout到一个新分支
git checkout -b [branch_name]
or
git branch [branch_name]
git checkout [branch_name]
这样就到一个新的分支了,
现在checkout回原本的分支
git reset --hard HEAD~1
就表示强制回滚到当前头结点的上一个
git reset 不加强制参数,文件系统中的文件不动,git仓库回滚到了指定结点,git status 有未加入缓存区的文件变化(红色)
git reset --soft 文件系统中的文件不动 ,git仓库回滚到指定结点,文件变化全部存在缓存区中(绿色)
git reset --hard 文件系统中的文件全部回滚到了指定结点的状态
虽然,git reset -hard很危险,但是却是最常用的!!!
不过,即使git reset --hard了,只要这个结点曾经在不久前存在过,仍可以通过,
git reflog
查看到并复制commit id 来git reset [commit_id]
所以千万记得平时多commit哦!!!
还有git还可以恢复单个文件,如
git reset --hard HEAD [FILE_NAME]
两个分支的合并:
首推
git rebase [branch_name]
是将指定branch,rebase到现在的分支
当然还有
git merge [branch_name]
直接两个合并,好似直属经理很是不喜欢,没做任何事,单单一个merge的结点。。。(没有change id,有空研究一下,好像是在hook文件夹下的commit_msg)
git fetch 将不太清楚,是将远端的先接到本地,再。。。
远端我一般就用
git pull --rebase
终于在今天弄懂了
git push origin HEAD:refs/for/master
的意思了,origin HEAD是本地的HEAD结点
冒号后是远端的结点
讲了那么多的git,也差不多了
下面说一下android.mk
貌似每一个项目都有一个,其中主项目的android.mk包含其他库的引用,及其需要注意路径,不过找不到多找找就好了,不过编译的时间长的不是一点点,靠!!!
求路过的大神推荐像incredible build 一样的神器!!!
变量定义要注意路径的变化,貌似好像有不少clean,别人写的代码照抄了,看了忘记了。。。
貌似breakpad中的android.mk还有用arm编译的,设置什么arm=arm(记不清了,源码里有),切记不可注释!!!
编译时显示Complier++ arm 不是往常的Complier++ thumb
application.mk可以在其中设置C++编译时的参数,很重要!!!
-DDebug=1来设置在c++代码中的宏定义
然后是,cocos2d-x中的mainLoop函数
这真是一个坑,在windows和android下的实现是不同的。。。
虽然平时不要紧,但是要在Cocos2d-x中整合breakpad就坑的不是一点点了。。。
在android下mainLoop函数是由java 的GL线程直接调用的(Render.native...),在那之前会调用一次nativeInit,去调用application.RUN(),中有applicationdidfinish()
故mainLoop和applicationdidfinish是不同的分支,在定义breakpad_exception时要注意!!!
还是找不到好的入口,和实现方法,以至于不用修改Cocos2d-x的源代码,求大神指教!!! (此处做修正,详见下一日的日志)
求大神顺便简述一下breakpad的原理,这方面中文有点少。。。
如果大神还有更好的与cocos2d-x合作的crash信息反馈工具,求共享!!!