git 常用命令

1. 初始化一个项目

mkdir App
cd App
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:orangecoder/App.git
git push -u origin master

2. 让gitignore文件生效命令

git rm -r --cached .

3. 远程仓库相关命令

检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
$git push origin test:master         // 提交本地test分支作为远程的master分支
$git push origin test:test           // 提交本地test分支作为远程的test分支

4. 分支(branch)操作相关命令

查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]
*创建空的分支:(执行命令之前记得先提交你当前分支的修改,否则会被强制删干净没得后悔)
$git symbolic-ref HEAD refs/heads/[name]
$rm .git/index
$git clean -fdx

5. 版本(tag)操作相关命令

查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin --tags
上传本地tag到远程仓库:$ git push origin --tags
创建带注释的tag:$ git tag -a [name] -m 'yourMessage'

6. 子模块(submodule)相关操作命令

添加子模块:$ git submodule add [url] [path]
   如:$git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:$ git submodule init  ----只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)
1) $ git rm --cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“ .git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录

7. git乱码解决方案汇总

Android 开发总结

1. Android 中的 Service 全面总结

  • Service 的种类
  • Service 与 Thread 的区别
  • Service 的生命周期
  • startService 启动服务
  • Local 与 Remote 服务绑定
  • 创建前台服务
  • 在什么情况下使用 startService 或 bindService 或 同时使用startService 和 bindService
  • 在 AndroidManifest.xml 里 Service 元素的常见选项

2. Android中BroadCastReceiver使用

  • 静态注册
  • 动态注册

3. Android中的几种多线程实现

  • Activity.runOnUiThread(Runnable)
  • View.post(Runnable)
  • Handler, HandlerThread
  • AsyncTask, LoaderManager

4. View 事件传递

  • Touch 事件都被封装成了 MotionEvent 对象
  • 事件类型分为 ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_POINTER_DOWN, ACTION_POINTER_UP, ACTION_CANCEL
  • 对事件的处理包括三类,分别为传递——dispatchTouchEvent()函数、拦截——onInterceptTouchEvent()函数、消费——onTouchEvent()函数和 OnTouchListener

5. View 绘制流程

  • measure
  • layout
  • draw
  • invalidate(), requestLayout()

6. Android 动画基础

  • 传统 View 动画: Tween(alpha,scale,translate,rotate), Frame
  • Property Animation: ValueAnimator, ObjectAnimator

7. Android SQlite 总结

  • Android平台下数据库相关类: SQLiteOpenHelper, SQLiteDatabase, SQLiteCursor
  • SQLite内建语法表
  • SQLite内建函数表

8. Android 布局优化

  • 尽量多使用 RelativeLayout,不要使用绝对布局 AbsoluteLayout
  • 将可复用的组件抽取出来并通过 <include/> 标签使用
  • 使用 <ViewStub/> 标签来加载一些不常用的布局
  • 使用 <merge/> 标签减少布局的嵌套层次

解决Mac下无法识别Android手机的问题

1. 插入手机,打开命令行终端,输入以下命令

1
system_profiler SPUSBDataType

得到以下结果

2. 如果没有得到上面 Vendor ID ,拔出手机,重复以上动作

3. 在命令行终端输入下面命令 (0x2a45 根据你的 Vendor ID 值来替换)

1
echo "0x2a45" > ~/.android/adb_usb.ini

4. 重启adb后就可以了

1
adb kill-server

翻墙攻略

1. 云梯

最大的特点是便宜,最低15元一个月,支持全平台(Windows,Ubuntu,Mac,iphone,Android),
支持服务器遍布(日本,美国,新加坡,香港,台湾,英国),相对齐全,
满足一般上网查资料需求,不支持大文件下载,属于比较基础的梯子
通过我上面的链接购买可以便宜10元