当前位置: 首页 > news >正文

git实战杂记

将分支推送到远程仓库通常二个目的:1.多人协作开发 2.远程备份

其实commit也是一种"备份",只是在本地,可以使用git reflog反悔。如果没有做备份,不要轻易使用git reset HEAD --hard  or git checkout -f这样非常危险的命令
commit的重要性还体现在git rebase, git diff, git log.....都是围绕commit对象。


多人协作分支主要分为: 管理员本地创建开发分支并推送到远程  & 开发人员配置开发分支

1.本地创建分支并推送到仓库
1.1.保证本地的分支都是可以编译通过的,最好是reset HEAD --hard + git clean -dxf后的代码。
遇到过这样的情况:本地的master的修改需要通过patch提交到远程的svn上的master,而远程svn的代码会滞后同步到git服务器上的master分支, 滞后会导致: git的master分支暂时更新不到最新的代码,而工作区中的代码仍然存在于stage区域,如果此时想基于本地的master打开发分支,就需要将这些改动去掉,否则将来在开发分支上执行git rebase master的时候,最新的master(经过svn同步到git)会与开发分支中误包含的文件导致冲突。
如果不想基于本地的master建开发分支,可以使用 git checkout -b login_site  origin/master来创建
1.2.git checkout -b login_invite   基于本地的base branch创建的新分支并切换到新分支
1.3.git push branches login_invite:login_invite  推送到远程的仓库,注意远程分支并不会与本地分支关联
1.4.git branch --set-upstream login_invite branches/login_invite 本地分支关联到远程分支

2.开发人员的操作:
2.1 git remote add branches root@app220:/home/git.gold/×××-dev (如果开发人员没有远程库,需要添加,如果有可跳过)
2.2 git fetch branches ( or git pull branches)
2.3 git branch --set-upstream login_invite branches/login_invite (本身会创建分支,还可以使用git checkout -b localBranchName repositoryName/remoteBrancheName 或者git checkout --track localBranchName repositoryName/remoteBranchName)
2.4 git checkout login_invite


如何基本本地或远程创建分支:
1.基于本地分支新建一个分支并checkout该分支(管理员push到远程仓库之前使用)
git checkout -b newbranch master
2.基于远程分支在本地新建一个开发分支并checkout该分支(开发人员跟踪管理员创建的远程分支)
git checkout -b localBranchName repositoryName/remoteBrancheName



开发分支rebase:
在开发分支git rebase master,原理是将当前分支的HEAD置为master对应的reference,然后将开发分支自独立出来的每个提交逐个打到HEAD上。这样开发分支就是线性提交。
此时如果想把分支的内容合并到master,只需切换到master,然后git merge dev_branch即可实现快速合并。
遇到过的情况: 并不做git merge dev_branch,而是git diff master  dev_branch,生成的patch通过reivew后打patch打上svn上的master。
注意,分支之间的diff顺序。如果生成master的patch,不要使用git diff dev_branch  master。否则生成的patch只能patch -R -p1 < patch来反打。

 

rebase与merge的区别:

1.git merge合并结果不是线性的,会存在多个父提交。与git rebase相比,会多出一次commit.

2.stackoverflow的一个讨论:

Assuming you start out with a tree that looks like this

             A---B---C topic/D---E---F---G master

You'll want to run 2 commands git rebase master to make it look like this

                                        A'--B'--C' topic/D---E---F---G master

then from master run git merge topic, which will do a fast forward merge, and you'll end up with a tree that looks like this

                                               topic/D---E---F---G---A---B---C -- master

Can I just checkout master and run git rebase topic??

Running that command would result in a tree that looks like this

                                               topic/D---A---B---C---E---F---G -- master

This is the (somewhat edited) git documentation for rebase, hopefully this will help:

All changes made by commits in the current branch but that are not in upstream are saved to a temporary area.

If you are on topic and run git rebase master, that means commits A, B and C are going into a temporary area.

The current branch is reset to upstream. This has the exact same effect as git reset --hard upstream.

At this point the temporary state of the tree looks like this

                          topic/D---E---F---G -- master

The commits that were previously saved into the temporary area are then reapplied to the current branch, one by one, in order.

Commits A, B, C that were saved into the temporary area are "recommitted" to the branch you are currently on topic.

                                             topic/D---E---F---G---A---B---C -- master

Running git rebase topic from master would perform the exact same steps, except instead of putting commits A, B, C into the temporary area, it would put commits E, F G into the temporary area.

 

一个完整开发分支rebase示例:包括新建一个rebase分支,将开发分支的多个commit合并成一个commit打到rebase分支上。如果需要review代码,还需要最终生成一个diff文件。

假如创建开发分支code的基础是master的m_old节点。

1.切换到master分支,reset到m_old节点,创建并切换到分支rebasecode. (创建该分支的目的就是将之前开发分支的多个commit一次性打到rebasecode上,避化rebase的操作)

2.git diff rebasecode code> 1.diff

3.patch -p1 <1.diff

4.git commit (打完1.diff只会体现在工作区中,git rebase master合并针对都是commit对象,所以必须提交)

5.切换到master并pull最新代码

6.切换到rebasecode并执行git rebase master

7.resolve conflict  (在rebase的过程中,如果执行git branch,显示的是no branch,如果git rebase --abort或者rebase完成之后,则git branch会显示为rebasecode)

       git add -u

   git rebase continue

8.git diff master rebasecode > 2.diff (该文件就是用来codereview的diff)

9.review的修改就可以直接在rebasecode上提交,而不是最初的开发分支code, 如果在code上提交,也可以git diff v_old v_now出一个diff文件,patch到rebasecode上。

10.review完成后,再次git rebase master,git diff master rebasecode> complete.diff

11.如果是在svn上提交,可以直接patch -p0 < complete.diff

 

git diff与反patch

经常出现误提交并push到远程分支的情况,遇到这样的情况,可以通过下面由难到易三种方式解决:

1.新建一个分支(最好保留老分支)

2.在远程分支上reset到上一版本。

3.打反patch    比如现状是v1-----v2, 误提交的节点是v2,   通过git diff v2 v1 > rpatch.diff ,再通过pathch -p1 < rpatch.diff清除错误提交。结果是v1-----v2-----v3. v3的状态应该与v1一致。


 

 

 

 





git config:

编辑git ini文件的命令,与vim相比,git config可以在git工程下的任何目录执行。

git ini文件分为版本库级别的配置(.git/config) > 全局配置(.gitconfig) > 系统级配置文件(/etc下)
maven的settings.xml也有类似的覆盖策略。
示例1:
git config --unset的使用:用来重置git/config中的key-value。
比如git config --unset remote.origin.url  root@172.16.10.220:/home/git.gold/daodao-site
git config --unset  remote.origin.url则会直接删除。
如果要删除节点[remote "origin"]下面的全部内容。git config --unset remote.origin 是错误的,删除节点使用git config --remove-section remote.origin
示例2:通常user.name user.email设置为global,删除user.name:
git config --unset --global user.name


远程仓库查看与添加:
git remote -v 查看本地配置的远程仓库 git remote add




什么时候删除分支:分支代码被merge或者分支的patch已经checkin
1.删除本地分支
git branch -D branch
2.删除远程的分支,注意:前面的空格
git push remote  : branch



为什么git reset HEAD --hard之后,还不能恢复以前的环境:

因git reset HEAD --hard只以还原被git跟踪过的文件。而之前patch打过之后包含了新增文件,这些是未被git跟踪过的。

解决:
1.rm -rf 新增文件,然后再打patch。否则再打patch的时候,新增的文件会阻止打patch。
2.git clean -dxf,其实也是执行rm命令,但是该命令会把工作区下untrack的所有文件删除,有些eclipse工程会在执行后受到影响。
示例如下:
ygao@pts/ttys000 $ git status
# On branch master
# Changes to be committed:
.......
# Changes not staged for commit:
......
# Untracked files:
#    test11


ygao@pts/ttys000 $ git clean -dxf
Removing test11

ygao@pts/ttys000 $ git status
# On branch master
# Changes to be committed:
......
# Changes not staged for commit:
......





冲突的场景:
1.打patch可能冲突,使用linux的patch命令也一样,另外merge也可能冲突
2.rebase不同的分支冲突

2.1 rebase冲突内容格式分析
rebase的过程中,<<<<<的部分应该是current patch打完之后工作区代码======表示patch old打到文件的代码>>>>>>
比如下面的示例:HEAD表示rebase先打的"add batch api" patch,接着rebase打了一个"refactor" 的patch,二个patch修改的是同一段代码导致冲突,此时<<<<<<< HEAD ...... =======表示refactor打上后,本地工作区的代码。
而====== ........>>>>>>> add batch api表示之前的patch打的代码,处理的顺序当然是删除旧的patch的代码。

<<<<<<< HEADreturn 0;
=======if (o1.getLocationid() == o2.getLocationid()){return 0;}
>>>>>>> add batch api合并之后结果:return 0;

 

2.2 rebase之后,查看是否正确,否则git checkout --conflict=merge file接着重新解决。

 

3.复杂冲突解决过程:

<<<<<<< HEAD
<<<<<<< HEADDBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);        while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}=======DBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);
=======DBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);        
>>>>>>> commit revise scriptwhile (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}
<<<<<<< HEAD
>>>>>>> Revise data migration script
=======>>>>>>> commit revise script变化1:<<<<<<< HEADDBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);        while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}=======DBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}
<<<<<<< HEAD
>>>>>>> Revise data migration script
=======>>>>>>> commit revise script变化2:<<<<<<< HEADDBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);        while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}=======DBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}>>>>>>> commit revise script变化3:DBLocationElement ele = DBLocationStore.getInstance().getLocationElement(locid);        while (ele != null && !ele.isGeographic()){ele = ele.getParentLocation();}if(ele == null){return -1;}if(ele.isGeographic()){geoId = ele.getLocationID();}return geoId;

 

 



 



区分二种不同的冲突是因为冲突的解决方式不一样

1.打patch冲突或merge冲突,编辑冲突跟平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存git add,然后git commit。
2.rebase的冲突解决:
2.1解决完一个补丁的应用冲突,git add -u用来将已track的文件修改加入stage。
2.2接着执行git rebase --continue直接另一个补丁制造了冲突
重复2.1,2.2直至rebase完成,注意,rebase不需要显式地执行commit。commit是git自动完成。
3.查看冲突可以使用git diff, git diff在不同的场景,使用的含义不同。


git pull:

相当于git fetch+git merge,git merge如果属于快速合并,会形成一个提交点。
git merge对应的commit点可以使用MERGE-HEAD(FETCH-HEAD)指代
git push对应的commit点可以对应的是HEAD

 

 git add:

与传统的SVN不同,add操作不仅仅是把新文件加入到版本控制,对于文件内容的修改,git也需要add,这说明git add并不是象svn一样,针对文件名,而是针对文件的内容。



git stash  & git stash pop的使用场景:
示例:
master分支被别人修改并push,而自己的本地代码并没有commit,此时pull远程的代码会提示本地有未提交的修改文件。

此时就是git stash很好的使用场合:

1.如果git stash+git pull+git stash pop没有冲突,就表示自动合并,这很有用,不需要在git pull之前,通过git checkout放弃已有的修改。

2.如果制造了冲突(通过打Patch制造),解决冲突,但是发生的可能性小,1的场合比较常见。

3.如果制造冲突,还有一种办法是本地的代码在pull之前,commit到head,但不push(也push不了,因为与远程冲突),git pull远程的代码做merge时,会与本地的代码冲突。实质是merge制造的冲突。

附:git stash pop与下面的操作类似:
1.先将本地的代码基于旧的version生成一个diff文件。
2.git reset HEAD --hard 抛弃本地工作区的修改。
3.git pull
4.尝试打diff制造冲突。

 

git blame与git log比较

git blame  细粒度,在类或文件中查看某个方法或代码块的历史。git log主要用来查看文件或类的历史。是粗粒度的。

示例:git blame -L 10,50  Test.java     -L用来指定要跟踪的代码块或方法的起止范围, 后面必须指定是在哪个类或文件中。

git log --author ygao -p file   --author可以用来查询某个人的提交记录,-p是显示diff文件,file可以指定跟踪的是哪个文件。

 

 

git+svn模式:git server只能pull,不能push,svn server通过打patch checkin

git本地检出的master分支不能push,只能pull.
一旦push之后就会形成一个commit点,当仓库的master分支从svn的服务器同步到了最新的代码时,会发现仓库中的HEAD指向的commit对象并不是上一次同步的时候,pull形成的commit,而是一个领先的commit,此时merge就是Non Fast Forward。如果在Non Fast Forward的情况下做merge操作,就会出现二个parent的情况,也会出现non line history的问题。
non line history就象是传统的svn提交的commit都是一条直线。通常git merge会形成non line history而推荐使用git rebase。

转载于:https://www.cnblogs.com/highriver/archive/2012/11/06/2729207.html

相关文章:

  • securiteCRT中退出全屏
  • Windows上 IE10 最快,Mac上Chrome 19最快
  • 20121107
  • 文件流的复习
  • UVa 10003 Cutting Sticks(区间DP)
  • 从数组中取值,并且比较字符串的值
  • APL开发日志--2012-11-14
  • Kloxo重启Web服务
  • Android-将RGB彩色图转换为灰度图
  • c#---类
  • 关于鼓励软件产业和集成电路产业发展有关税收政策问题的通知
  • C#中你可能不知道的8件事(zz)
  • 二叉树操作
  • 三十而立,从零开始学ios开发(八):Autorotation and Autosizing
  • HTML5之FileList文件列表对象的应用,可批量上传
  • Rails开始遇到的一个端口占用问题的解决方法
  • VC 中一些控件的使用方法(TabControl, 工具栏)
  • HDOJ-2095 Find your present (2) / NYOJ-528 找球号(三)
  • tp读取配置文件机制
  • 使用eclipse新建一个SWT工程
  • SUBSTRING_INDEX
  • 商道—小老板的生意经:读书笔记
  • 男友问别人:你裙子里穿什么了?
  • 第二章:Improving On User Commands--14.格式化长句
  • MFC 窗口过程理解
  • 类库项目设定
  • 为imageView添加图片实现动画
  • 在web服务器启动时: java.util.zip.ZipException: error in opening zip file
  • fatjar: eclipse导出工具
  • 10 步让你成为更优秀的Coder
  • greensock 框架
  • JasperReports 5.0.1 发布,Java 报表工具
  • 【Java学习笔记】数组的相关事项
  • Windows 下USB被禁用
  • nodejs首个框架开发(先只发个连接,有空再写)
  • 润乾报表-数据源的选取不能选视图
  • mybatis_Mapped Statements collection already contains value
  • Ubuntu 配置VNC时,出现“perl: warning: Falling back to the standard locale (C).”等提示错误解决方法...
  • 2013年学习计划
  • Windows 8 页面应用测试(1)
  • Android LBS系列06 位置策略(二)模拟位置数据的方法
  • Libevent源码解析
  • 【物联网智能网关-16】成功移植SQLite(STM32 .NET MF平台)
  • 无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口 ....
  • Perl+批处理实现半自动批量生成动态通讯组
  • 再论智能指针
  • qti
  • 在Oracle中查询表的大小、表的占用情况和表空间的大小
  • Java空字符串与null区别
  • 长连接和短连接(转)
  • oracle桌面工具plsql连接本地远程数据库
  • Dev控件发布到服务器上后样式表不显示解决方法
  • QTP自动化测试—用户登录
  • JSP获取根目录
  • 关于静态事件 static event 的二三事
  • 第十八节:类与对象-构造函数和析构函数-访问控制-对象继承
  • (转)asp.net c#如何采集需要登录的页面?
  • uva11549Calculator Conundrum
  • CDays-3 习题一 (处理命令行参数)及相关内容解析。Python getopt 简介
  • hdu1059Dividing
  • 运行maven项目抛出java.lang.OutOfMemeoyError异常
  • R-基础测试(2)——在线帮助(转)
  • 9个数中取最大值最小值速度问题
  • 【随感】我觉得,世界上最美好的乐器是钢琴和架子鼓
  • 809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。...
  • 过滤器如何配置(javax.servlet.Filter)?
  • Android图像办理组件
  • 中国文学三梦
  • Linux下的基本操作
  • 批量给hive的表加分区
  • js 琐碎的小东西
  • 求圆周率π一万位程序分析
  • 什么是相关性以及为什么需要初始化它?
  • javascript设计模式-装饰者模式
  • QT打包后音频不响应的问题
  • ora-01950:对表空间XXX无权限
  • 几种调用WebService的方法
  • QT实现Linux下系统监控小工具
  • 实现AJAX回传过程中禁止用户重复提交
  • vCenter 或者 vmwareworkstation 虚拟机 安装vmware tools
  • Asp.Net MVC4 Bundle捆绑压缩技术
  • JS 控件 数据源
  • 用Keil-MDK开发TQ2440裸机程序入门教程
  • SqlServer2008基础知识:安全与权限
  • 记录类型入门练习
  • c#生成随机彩色验证码例子
  • [Python]关键字is和操作符==
  • 关于破解百度文库的方法(非常实用)
  • WordPress W3 Super Cache插件远程PHP代码执行漏洞
  • Delphi 重启应用程序
  • 各种Python简单功能代码
  • 强连通分量[trajan]
  • SQL查询最近几年、几月的数据
  • [bbk2193] 第34集 - Chapter 09-Optimizing Sore Perations(03)
  • VS2010插件 - NuGet
  • Extjs Ext.net中的常用属性
  • 利用正则表达式 替换字符串中多个 URL
  • WPF捕获事件即使这个事件被标记为Handled
  • 关于SVN限制填写备注和自动更新代码到网站的研究
  • 成为Android高手的十个建议
  • ubuntu+nginx+php-cgi 环境开启php的curl功能
  • FlasCC例子研究之bitmapdata
  • modelsim多模块联合仿真时,同一signal,一边有信号另一边没有的问题
  • 吧唧下工作的事情 - 记用canvas封装的小小控件
  • MySQL 5.5.31 procedure 的语法规则细节
  • 清除SQLServer2008缓存
  • 10种扼杀爱情的悲剧性格
  • Enterprise Solution(2.2.20130525) 解决方案配置与源代码下载
  • 指针二维二维数组和二重指针 的疑问 二维数组名为什么不能直接赋值给二重指针...
  • windbg学习---?? 和 ?
  • C#版常用设计模式入门
  • android ExpandableListView详解
  • 音频播放IOS:AVAudioPlayer音频播放器
  • 支持向量机很全的代码和数据集
  • javascript给类添加的方法
  • VirtualBox常用命令
  • Winform 类似于WINDOWS的选择文件夹对话框
  • CentOS下安装JDK6u30
  • 修改Win7的默认文件夹排列方式
  • Oracle Clusterware工具3
  • operation is executing and cannot be enqueued
  • 剖析360为什么要做路由器
  • 删除Mysql数据表中多余的重复记录的sql语句
  • ASP.NET MVC3 RenderPartial 传入空Model时出现字典类型错误
  • 节点文件将两个不同格式的XML文件,进行节点对照,并生成一个用于对照功能的XML...
  • android的JNI标准 android的NDK
  • C#把Xml转换为DataSet的两种方法
  • 【Android开发】之Android环境搭建及HelloWorld
  • 【ARM】2410裸机系列-中断处理
  • IOS设计模式学习(7)单例
  • 查看进程占用的端口号,同时杀死此进程
  • Xcode连接git@osc
  • ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点...
  • IIS 问题集锦
  • phpMyAdmin view_create.php 跨站脚本漏洞
  • 分享一个强大的弹出框
  • MySQL INFORMATION_SCHEMA信息数据库
  • 关于布局的一点心得
  • hdu acmsteps 2.1.3 Cake
  • 实用js函数收集
  • 转载:你需要知道的16个Linux服务器监控命令
  • MVVM设计模式《网摘》
  • php微型mvc框架创建步骤
  • 实现不规则形状的按钮
  • CF331C1暴力
  • Backbone.js Wine Cellar 教程
  • 四个数学软件主要特点
  • SRM 515 DIV1 550pt
  • Oracle中rownum用法总结
  • win8蓝屏错误代码DPC_WATCHDOG_VIOLATION您的电脑遇到错误需要重启修复
  • Xml 读写
  • CheckBox的触发
  • Mysql BLOB和TEXT类型
  • 图像下方出现几像素的空白间隙
  • hdu 1398
  • 动态包含与静态包含的区别
  • 开发者必备的6款源码搜索引擎
  • Android中Socket大文件断点上传
  • CodeForces 297C Splitting the Uniqueness (脑补构造题)
  • java-枚举
  • NSLog的各种打印格式
  • 每日一C(函数指针)
  • linux 基础笔记
  • javascript对象概念大全
  • Ext中Date format含义
  • 利用WCF与Android实现图片上传并传参
  • HDU 1016 Prime Ring Problem
  • CentOS6.4 X86_64 kvm+PXE备忘
  • Bnuoj-29359 Deal with numbers 线段树
  • 学习JQGRID
  • SQL与NoSQL
  • CentOS 关闭暂不需要的系统服务
  • http://www.duilib.cc
  • hdu 4726
  • C#_delegate EndInvoke
  • PE框架学习之道:PE框架——style的配置
  • 初识SNMP协议
  • c#跨窗体调用操作
  • Asp.net MVC 4 Html帮助类 II
  • Ruby代码块(Block)
  • c++ 代码笔记
  • [leetcode]Insert Interval
  • 3GPP规范命名规则解读
  • IOS: Xcode报 Undecleared selector Warning错误的解决方法
  • 图片文字混排的垂直居中、inline-block块元素和行内元素混排的垂直居中问题
  • flex acionscript png图片去除多余空白,生成合适大小图片
  • FullPage.js – 轻松实现全屏滚动(单页网站)效果
  • 有关C++11标准的一些粗浅认识
  • 快排算法的非递归实现
  • shell的EOF用法
  • windows快捷键大全(转载)
  • 软件测试入门技能
  • 简单的着色问题
  • linux操作系统死机处理办法
  • 废柴一条
  • c++ 复习内容
  • 一个事务复制的bug--更新丢失 续
  • 传说中的Markov不过如此”
  • MVC应用程序结构与规划
  • MyBatis代码自动生成
  • 在SharePoint 2010中创建联系人Web数据库网站
  • [转帖]我们是OIer、
  • 【转】【C#.NET】ASP.NET状态管理 APPlication,Session,Cookie和ViewStat用法
  • CF 71C. Round Table Knights
  • CodeForces 27A Next Test(简单hash)
  • js操作多选框checkBox
  • stl算法:next_permutation剖析
  • LDA实现
  • GNU Radio 之 rtl-sdr
  • 【转】Python基础-字符串
  • 使用.net的Cache框架快速实现Cache操作
  • 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第一章1-1.Fragment...
  • 关于RadUpload上传问题总结
  • UVA12545_Bits Equalizer
  • 交错数组(jagged array)
  • 用线程安全随机数解决Random在多线程中随机性重复的问题
  • mac 升级到mavericks 安装php扩展现问题
  • ubuntu firefox上看视频,安装flash啊
  • 通过I2C总线向EEPROM中写入数据,记录开机次数
  • 用DVD镜像离线安装Debian的软件包
  • SQL Server 查询哪些对象(表\视图\存储过程)包含有某些内容
  • 2013 蓝桥杯校内选拔赛 java本科B组(题目+答案)
  • 码表
  • FORM开发实现动态LOV
  • Route@简单应用
  • 5、WPF实现简单计算器-非常适合初学者练习
  • H3C 网管交换机快速配置指南(转)
  • 学习笔记:工厂方法模式及简单工厂模式的对比
  • 【提问】iOS UIAtumator 是怎么判断元素isVisible的?
  • GMap.Net开发之自定义Marker
  • 如何将位图格式图片文件(.bmp)生成geotiff格式图片?
  • SKNode的子类和常用的Action
  • 初学者浅谈oracle中的一些sql
  • codeforce 贪心1
  • 2013年12月24号感受
  • Android核心分析之二十五Android GDI之共享缓冲区机制
  • flash无法注册控件
  • ZwQuerySystemInformation 枚举驱动模块
  • 函数整洁若干准则
  • 360杀毒引发的DLL调用异常
  • 技术学习之迭代策略
  • memcached SASL验证状态安全绕过漏洞
  • jQuery File Upload blueimp with struts2 简单试用
  • CentOS6 图形界面(gnome)安装(转)
  • CentOS6.x定制~修改CentOS字样
  • 3.2 GUN as汇编(本文内容大部分引用原文,非原创)
  • (原创)Windows系统后安装ubuntu,无法选择启动ubuntu。
  • 那些年不错的Android开源项目
  • 软件设计是怎样炼成的(3)——软件系统不是木桶型的
  • android 快捷方式代码片段随记
  • IOS文件操作(NSFileManager)
  • memcache简单操作
  • 谈谈我心目中理想的牛人
  • 统计一句话中每个字母出现的次数
  • 定点法向量
  • weblogic domain的安装与配置
  • 九度OJ - 题目1481:Is It A Tree?
  • HDUOJ---1233还是畅通工程
  • C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
  • 视图、事务
  • mysql:The total number of locks exceeds the lock table size
  • 创业篇——小老板的日常管理
  • 制作jquery插件1-基础
  • hdu 1233还是畅通工程 最小生成树(入门题)prim算法
  • 水晶报表实现套打
  • 异常:操作可能会破坏运行时稳定性
  • 深度优先遍历DFS
  • A*算法 带cocos2d-x例子 a*寻路算法
  • Cordova系列(一)
  • GCD(公约数)
  • Firefox控制台日志转入文件
  • 控制反转和依赖注入
  • 一步步学习SPD2010--附录A--SPD工作流条件和操作(4)--列表操作
  • java 判断5张牌的组成
  • c# 获取docx中的内容
  • (转)Google Fonts 的介绍与使用
  • [原]解决百度地图多个Marker和InfoWindow时总是打开最后一个InfoWindow的问题
  • IIS网站设置禁止IP访问设置方法
  • cocos2dx中的层CCLayer
  • C# 导出Excel 多个Sheet
  • linux shell 随机字符生成单词
  • Latest node.js npm installation on Ubuntu 12.04
  • 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法
  • NAS 创建大文件
  • css3实现进度条的模拟
  • SharePoint品牌化和自定义--第一章节--SharePoint品牌化介绍(1)--为什么要进行SharePoint品牌化...
  • curl针对HTTP的相关使用方法
  • js获取request参数值(javascript 获取request参数值的方法)
  • 电脑突然出现成功连接网络但不能上网、网络受限(解决办法)
  • 一段经典的 Java 风格程序 ( 类,包 )
  • js便签笔记(5)——Dean Edwards大牛的跨浏览器AddEvent()设计(不知道是不是jQuery事件系统的原型)...
  • 百度编辑器 UEditor 报错汇总
  • (转)C# 解析 json
  • APP开发手记01(app与web的困惑)
  • SQL常见错误及处理方法
  • window下git,TortoiseGit安装,以及和github托管项目
  • c# Invalidate() Update() Refresh()的区别
  • java进阶06 线程初探
  • 美国数据不佳美元仍跳升,只因欧元区问题更多
  • Careercup - Facebook面试题 - 5890898499993600
  • hibernate could not resolve property
  • 前端面试题:高效地随机选取数组中的元素
  • 技术人生:入职半年总结
  • CentOS 5.4 安装和卸载桌面
  • Beanutils基本用法
  • 群聊角色与岗位
  • 关于C++ const成员的一些细节
  • hashMap的具体实现
  • jquery实现百度类似搜索提示功能(AJAX应用)
  • ajax(3)---Conmon.js
  • 推荐几款好用的CRM
  • 所有 HTTP 状态代码及其定义
  • Struts+HIbernate+Spring
  • 关于股东和公司法
  • raid5什么意思?怎样做raid5?raid5 几块硬盘?
  • Hibernate的CRUD
  • 非常的好的协同过滤入门文章(ZZ)
  • 转发 JBPM工作流小结
  • 寻找复活节彩蛋egg huting 学习
  • 关于IE的兼容模式
  • [WebApp开发]基础教程-Web App开发入门
  • java总结文章
  • Swift给每个开发者赢取500万的机会!不看一生后悔。
  • java几种远程服务调用协议的比较
  • 高聚合和低耦合的理解
  • ALV标题居中加粗
  • iOS.数据持久化.PersistenceLayer.属性列表
  • 网络抓取功能实现 将获取的结果进行过滤并写入到TXT文档中
  • 组合模式Composite
  • 基于嵌入式linux路由转发功能的实现
  • NSString 的常用方法
  • 在Linux上运行ASP.NET vNext
  • spring启动quartz定时器
  • c += c-- | ++b;
  • [20140702]奇怪的应用程序超时
  • hadoop之安装
  • 如何打包ANE
  • 字典树 之 hdu 4099
  • 哈希(1) hash的基本知识回顾
  • CMD获取当前目录的绝对路径
  • C#检测驱动是否安装的问题
  • U盘做启动盘后,如何恢复原始容量
  • hibernate_Restrictions用法 .
  • Android学习笔记(十一)——从意图返回结果
  • MongoDB 分片操作
  • Jquery实现循环删除Reaper某一行
  • cf446C DZY Loves Fibonacci Numbers
  • Compass被墙后如何安装安装
  • 2014-7-17
  • webservice4
  • web 前端小记_1 :hasLayout
  • Java基础String类
  • POJ 1300 Door Man 欧拉路的判断
  • [Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作...
  • 相克军_Oracle体系_随堂笔记011-事物
  • hibernate 批量插入数据
  • SQL 判断表是否存在
  • 高级I/O复用技术:Epoll的使用及一个完整的C实例
  • 热敏电阻
  • 【JavaScript 封装库】BETA 1.0 测试版发布!
  • 有用的linux命令笔记
  • C#中string[]数组和liststring泛型的相互转换 【转】
  • 这个大学时代的博客不在维护了,请移步到我的新博客
  • jQuery源码学习之六 (jQUery中扩展方法)
  • MySQL存储过程定时任务
  • 人有多大懒,才有多大闲 (评论『卓有成效的程序员』)
  • java多线程的常用方法(以及注意事项)
  • Java面向对象㈡ -- 继承与多态
  • C#单继承
  • Android开发之网络
  • 机器学习的最佳入门学习资源【转】
  • 断线的风筝,该飘向哪里
  • [Surface] 在win8.1上使用QQ截图放大问题(解决办法)
  • 在Qsys中创建用户自定义IP
  • Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?
  • JS调用asp.net后台方法:PageMethods
  • contos下安装JDK1.7 ,tomcat,nginx
  • 变量的引用类型和非引用类型的区别
  • estore商城案例(一)------用户注册邮件激活(上)
  • javascript自定义滚动条插件,几行代码的事儿
  • 从远程库克隆(转载)
  • ajax hash缓存
  • 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常...
  • HDU 1527 取石子游戏
  • Lesson 73-74 The quality of our lives
  • android selector
  • 我也有自己的小家啦
  • apache部署mo_python
  • 函数式编程(一) 认识“编程范式”和“函数”
  • 常用的正则验证
  • [转]访问 OData 服务 (WCF Data Services)
  • DEPHI XE5 XE6 ANDROID IOS开发的几点体会
  • 关于typedef的用法总结(转)
  • 微软BI SSIS 2012 辅助阅读博客
  • HTTP协议中GET、POST和HEAD的介绍
  • 11th Iran Nationwide Internet Contest 解题报告
  • linux的sudo apt-get install 和dpkg -i package.deb命令
  • 为用户设计良好的接口
  • 《深入理解计算机网络》读后小记 8、IP地址和子网
  • linux下proc里关于磁盘性能的参数(转)
  • Spring JMX之二:远程访问MBean(spring通过annotation暴露MBean)
  • 使用CounterDownTimer实现时分秒倒计时
  • HTML自己整理
  • SQL server中的SQL语句拼接
  • 用Gradle 构建你的android程序
  • *[codility]CartesianSequence
  • Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】
  • IDENT_CURRENT ,@@identity,SCOPE_IDENTITY() 之间对比
  • Javascript游戏,街头霸王
  • 第一讲(3)osgearth编译
  • Objective-C的对象模型
  • Xcode6 部署iphone4s出现的问题 No architectures to compile for
  • Android HAL
  • 【计算机网络:自顶向下方法】(一)计算机网络和英特网
  • 分布式事务之CP架构、AP架构解决方案
  • 拓端tecdat|R语言基于ARMA-GARCH过程的VaR拟合和预测
  • 拓端tecdat|R语言离群值处理分析
  • 拓端tecdat|sas文本挖掘案例:如何使用SAS计算Word Mover的距离
  • 拓端tecdat|Python使用矩阵分解法找到类似的音乐
  • 拓端tecdat|数据告诉你:互联网哪个职位最有前途?
  • 拓端tecdat|互联网热门职位薪资对比报告
  • 拓端tecdat|R语言使用马尔可夫链对营销中的渠道归因建模
  • 拓端tecdat|R语言对MNIST数据集分析:探索手写数字分类
  • 拓端tecdat|R语言中实现层次聚类模型
  • 拓端tecdat|R如何与Tableau集成分步指南 - 适用于数据科学和商业智能专业人员
  • 拓端tecdat|时间序列建模三部曲
  • 拓端tecdat|R语言代写岭回归ridge regression分析租房价格报告
  • 拓端tecdat|红圈律所微信公众号图文数据报告
  • 拓端tecdat|python虎扑社区论坛数据爬虫分析报告
  • 拓端tecdat|维度规约(降维)算法在WEKA中应用
  • 拓端tecdat|R语言分段回归数据分析案例报告
  • 拓端tecdat|R语言隐马尔可夫模型HMM识别不断变化的市场条件
  • 拓端tecdat|共享单车大数据报告
  • 拓端tecdat|R语言深度学习探索德国数据科学就业市场
  • 拓端tecdat|用R对Twitter用户的编程语言语义分析
  • 拓端tecdat|R语言中Gibbs抽样的Bayesian贝叶斯简单线性回归
  • 拓端tecdat|R语言数据的收益率和可能的波动性交易
  • 拓端tecdat|数据岗位现状调查报告
  • 拓端tecdat|决策树算法建立电信客户流失模型
  • 拓端tecdat|R语言生存分析数据分析可视化案例
  • 拓端tecdat|如何用R语言在机器学习中建立集成模型?
  • 拓端tecdat|R语言隐马尔可夫模型HMM识别股市变化分析报告
  • 拓端tecdat|R语言深度学习不同模型对比分析案例
  • 【大数据部落】R语言电商网站爬虫
  • 【大数据部落】用关联规则和聚类探索药物配伍规律
  • 【大数据部落】R语言GAM(广义相加模型)对物业耗电量进行预测
  • 拓端tecdat|共享汽车数据分析调研案例报告
  • 拓端tecdat|基于数据挖掘SVM模型的pre-incident事故预防预测分析报告
  • 【大数据部落】文本挖掘:twitter推特LDA主题情感分析
  • 【大数据部落】基于LDA主题模型聚类的商品评论文本挖掘
  • 【大数据部落】基于随机森林、svm、CNN机器学习的风控欺诈识别模型
  • 【大数据部落】 17年房贷市场数据调研报告
  • 【大数据部落】基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理
  • 【大数据部落】r语言多均线股票价格量化策略回测
  • 【大数据部落】R语言如何使用rjags R2jags来建立贝叶斯模型
  • 【大数据部落】用R Shiny生态快速搭建交互Web网页APP应用
  • 【大数据部落】出租车数据分析:用数据告诉你出租车资源配置是否合理
  • 【大数据部落】IBM SPSS Modeler通过数据挖掘我们能从股市数据得到什么
  • 【大数据部落】银行信用数据SOM神经网络聚类实现
  • 【大数据部落】从网络图看数字媒体对传统媒体的影响
  • 【大数据部落】WEKA文本挖掘分析垃圾邮件分类模型
  • 【大数据部落】R语言基于决策树的银行信贷风险预警模型
  • 【大数据部落】用R挖掘Twitter数据
  • 【大数据部落】用R语言挖掘Twitter数据
  • 【大数据部落】用R语言进行网站评论文本挖掘聚类
  • 【大数据部落】R在GIS中用ggmap地理空间数据分析
  • 拓端tecdat|Python时间序列选择波动率预测指数收益算法分析案例
  • 拓端tecdat|R语言如何和何时使用glmnet岭回归
  • 拓端tecdat|虎扑社区论坛数据爬虫分析报告
  • 拓端tecdat|R语言法国足球联赛球员多重对应分析(MCA)
  • 拓端tecdat|新能源车主数据图鉴
  • 拓端tecdat|数据挖掘算法在物业设备设施管理的风险识别与防控应用
  • 拓端tecdat|python用线性回归预测股票价格
  • 拓端tecdat|windows中用命令行执行R语言命令
  • 拓端tecdat|R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)
  • 拓端tecdat|tableau的骑行路线地理数据可视化
  • 拓端tecdat|R语言rcurl抓取问财财经搜索网页股票数据
  • 【大数据部落】R语言RFM模型在电商行业的应用
  • 拓端tecdat|二手闲置物品交易数据快照
  • 拓端tecdat|R语言:用R语言填补缺失的数据
  • 拓端tecdat|r语言多均线股票价格量化策略回测
  • 拓端tecdat|R语言highfrequency高频金融数据导入
  • 拓端tecdat|R语言生存分析可视化分析
  • 拓端tecdat|R语言特征选择——逐步回归
  • 拓端tecdat|用R语言实现神经网络预测股票实例
  • 代写python assignment经常用到的代码语法分享!
  • 代写R语言assignment经常用到的代码语法分享!
  • 拓端tecdat|R语言互联网金融下的中国保险业数据分析
  • 拓端tecdat|R语言如何在生存分析与Cox回归中计算IDI,NRI指标
  • 拓端tecdat|基于模型的聚类和R语言中的高斯混合模型
  • 拓端tecdat|R语言使用混合模型进行聚类
  • 拓端tecdat|R语言实现有限混合模型建模分析
  • 拓端tecdat|用SAS进行泊松,零膨胀泊松和有限混合Poisson模型分析
  • 拓端tecdat|R语言回归中的Hosmer-Lemeshow拟合优度检验
  • 拓端tecdat|R语言stan进行基于贝叶斯推断的回归模型
  • 拓端tecdat|R语言t检验和非正态性的鲁棒性
  • 拓端tecdat|R语言用于线性回归的稳健方差估计
  • 拓端tecdat|stata具有异方差误差的区间回归
  • 拓端tecdat|R平方/相关性取决于预测变量的方差
  • 拓端tecdat|R语言在逻辑回归中求R square R方