自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春哥的专栏

分享,成长

  • 博客(65)
  • 收藏
  • 关注

转载 忘记Orcale sys、system密码解决办法

在本地运行cmd,依次录入下列命令,(注意:有些命令后不应带分号)sqlplus /nologconnect / as sysdbaalter user sys identified by sys;alter user system identified by system;说明:上述命令可将用户sys的密码改为sys,用户system的密码改为

2015-12-07 22:02:31 864

转载 eclipse.ini配置 vmargs 说明

-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Ja

2015-05-02 17:39:59 5681

原创 Win7_32位 PLSQL连接远程数据库(本地没有安装Oracle)

Win7_32位 PLSQL连接远程数据库(本地没有安装Oracle)

2015-01-14 16:52:59 933

转载 常见的MySQL命令大全(转)

常见的MySQL命令大全一、连接MySQL        格式: mysql -h主机地址 -u用户名 -p用户密码        1、例1:连接到本机上的MYSQL。        首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL

2014-12-17 23:58:15 752 1

转载 9.7 Git 内部原理 - 维护及数据恢复

维护及数据恢复你时不时的需要进行一些清理工作 ── 如减小一个仓库的大小,清理导入的库,或是恢复丢失的数据。本节将描述这类使用场景。维护Git 会不定时地自动运行称为 "auto gc" 的命令。大部分情况下该命令什么都不处理。不过要是存在太多松散对象 (loose object, 不在 packfile 中的对象) 或 packfile,Git 会进行调用 git

2014-09-21 00:58:47 1690

转载 9.6 Git 内部原理 - 传输协议

传输协议Git 可以以两种主要的方式跨越两个仓库传输数据:基于HTTP协议之上,和 file://, ssh://, 和git:// 等智能传输协议。这一节带你快速浏览这两种主要的协议操作过程。哑协议Git 基于HTTP之上传输通常被称为哑协议,这是因为它在服务端不需要有针对 Git 特有的代码。这个获取过程仅仅是一系列GET请求,客户端可以假定服务端的Git仓库中

2014-09-21 00:55:59 711

转载 9.5 Git 内部原理 - The Refspec

The Refspec这本书读到这里,你已经使用过一些简单的远程分支到本地引用的映射方式了,这种映射可以更为复杂。 假设你像这样添加了一项远程仓库:$ git remote add origin [email protected]:schacon/simplegit-progit.git它在你的 .git/config 文件中添加了一节,指定了远程的名称 (origin),

2014-09-21 00:52:59 495

转载 9.4 Git 内部原理 - Packfiles

Packfiles我们再来看一下 test Git 仓库。目前为止,有 11 个对象 ── 4 个 blob,3 个 tree,3 个 commit 以及一个 tag:$ find .git/objects -type f.git/objects/01/55eb4229851634a0f03eb265b69f5a2d56f341 # tree 2.git/objects/1a/

2014-09-21 00:47:57 890

转载 9.3 Git 内部原理 - Git References

Git References你可以执行像 git log 1a410e 这样的命令来查看完整的历史,但是这样你就要记得 1a410e 是你最后一次提交,这样才能在提交历史中找到这些对象。你需要一个文件来用一个简单的名字来记录这些 SHA-1 值,这样你就可以用这些指针而不是原来的 SHA-1 值去检索了。在 Git 中,我们称之为“引用”(references 或者 r

2014-09-21 00:43:11 401

转载 9.2 Git 内部原理 - Git 对象

Git 对象Git 是一套内容寻址文件系统。很不错。不过这是什么意思呢? 这种说法的意思是,Git 从核心上来看不过是简单地存储键值对(key-value)。它允许插入任意类型的内容,并会返回一个键值,通过该键值可以在任何时候再取出该内容。可以通过底层命令 hash-object 来示范这点,传一些数据给该命令,它会将数据保存在 .git 目录并返回表示这些数据的键值。首先初使化一个

2014-09-21 00:42:18 476

转载 9.1 Git 内部原理 - 底层命令 (Plumbing) 和高层命令 (Porcelain)

底层命令 (Plumbing) 和高层命令 (Porcelain)本书讲解了使用 checkout, branch, remote 等共约 30 个 Git 命令。然而由于 Git 一开始被设计成供 VCS 使用的工具集而不是一整套用户友好的 VCS,它还包含了许多底层命令,这些命令用于以 UNIX 风格使用或由脚本调用。这些命令一般被称为 "plumbing" 命令(底层命令),

2014-09-21 00:39:00 474

转载 8.2 Git 与其他系统 - 迁移到 Git

迁移到 Git如果在其他版本控制系统中保存了某项目的代码而后决定转而使用 Git,那么该项目必须经历某种形式的迁移。本节将介绍 Git 中包含的一些针对常见系统的导入脚本,并将展示编写自定义的导入脚本的方法。导入你将学习到如何从专业重量级的版本控制系统中导入数据—— Subversion 和 Perforce —— 因为据我所知这二者的用户是(向 Git)转换的主要群体

2014-09-21 00:33:22 533

转载 8.1 Git 与其他系统 - Git 与 Subversion

Git 与 Subversion当前,大多数开发中的开源项目以及大量的商业项目都使用 Subversion 来管理源码。作为最流行的开源版本控制系统,Subversion 已经存在了接近十年的时间。它在许多方面与 CVS 十分类似,后者是前者出现之前代码控制世界的霸主。Git 最为重要的特性之一是名为 git svn 的 Subversion 双向桥接工具。该工具把 Git

2014-09-21 00:33:05 375

转载 7.4 自定义 Git - Git 强制策略实例

Git 强制策略实例在本节中,我们应用前面学到的知识建立这样一个Git 工作流程:检查提交信息的格式,只接受纯fast-forward内容的推送,并且指定用户只能修改项目中的特定子目录。我们将写一个客户端脚本来提示开发人员他们推送的内容是否会被拒绝,以及一个服务端脚本来实际执行这些策略。这些脚本使用 Ruby 写成,一半由于它是作者倾向的脚本语言,另外作者觉得它是最接近伪代码的

2014-09-21 00:28:59 608

转载 7.3 自定义 Git - Git挂钩

Git挂钩和其他版本控制系统一样,当某些重要事件发生时,Git 以调用自定义脚本。有两组挂钩:客户端和服务器端。客户端挂钩用于客户端的操作,如提交和合并。服务器端挂钩用于 Git 服务器端的操作,如接收被推送的提交。你可以随意地使用这些挂钩,下面会讲解其中一些。安装一个挂钩挂钩都被存储在 Git 目录下的hooks子目录中,即大部分项目中的.git/hooks。 G

2014-09-21 00:26:40 396

转载 7.2 自定义 Git - Git属性

Git属性一些设置项也能被运用于特定的路径中,这样,Git 以对一个特定的子目录或子文件集运用那些设置项。这些设置项被称为 Git 属性,可以在你目录中的.gitattributes文件内进行设置(通常是你项目的根目录),也可以当你不想让这些属性文件和项目文件一同提交时,在.git/info/attributes进行设置。使用属性,你可以对个别文件或目录定义不同的合并策略,让

2014-09-21 00:24:56 622

转载 7.1 自定义 Git - 配置 Git

配置 Git如第一章所言,用git config配置 Git,要做的第一件事就是设置名字和邮箱地址:$ git config --global user.name "John Doe"$ git config --global user.email [email protected]从现在开始,你会了解到一些类似以上但更为有趣的设置选项来自定义 Git。

2014-09-21 00:21:41 417

转载 6.7 Git 工具 - 子树合并

子树合并现在你已经看到了子模块系统的麻烦之处,让我们来看一下解决相同问题的另一途径。当 Git 归并时,它会检查需要归并的内容然后选择一个合适的归并策略。如果你归并的分支是两个,Git使用一个递归策略。如果你归并的分支超过两个,Git采用章鱼策略。这些策略是自动选择的,因为递归策略可以处理复杂的三路归并情况——比如多于一个共同祖先的——但是它只能处理两个分支的归并。章鱼归并可以处理多个

2014-09-21 00:14:51 1351

转载 6.6 Git 工具 - 子模块

子模块经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。这里有一个例子。假设你在开发一个网站,为之创建Atom源。你不想编写一个自己的Atom生成代码,而是决定使用一个库。你可能不得不像CPAN in

2014-09-21 00:10:03 424

转载 6.5 Git 工具 - 使用 Git 调试

使用 Git 调试Git 同样提供了一些工具来帮助你调试项目中遇到的问题。由于 Git 被设计为可应用于几乎任何类型的项目,这些工具是通用型,但是在遇到问题时可以经常帮助你查找缺陷所在。文件标注如果你在追踪代码中的缺陷想知道这是什么时候为什么被引进来的,文件标注会是你的最佳工具。它会显示文件中对每一行进行修改的最近一次提交。因此,如果你发现自己代码中的一个方法存在缺陷,

2014-09-21 00:07:30 356

转载 6.4 Git 工具 - 重写历史

重写历史很多时候,在 Git 上工作的时候,你也许会由于某种原因想要修订你的提交历史。Git 的一个卓越之处就是它允许你在最后可能的时刻再作决定。你可以在你即将提交暂存区时决定什么文件归入哪一次提交,你可以使用 stash 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样子。这个包括改变提交的次序、改变说明或者修改提交中包含的文件,将提交归并、拆分或者完全

2014-09-21 00:02:16 420

转载 6.3 Git 工具 - 交互式暂存

交互式暂存Git提供了很多脚本来辅助某些命令行任务。这里,你将看到一些交互式命令,它们帮助你方便地构建只包含特定组合和部分文件的提交。在你修改了一大批文件然后决定将这些变更分布在几个各有侧重的提交而不是单个又大又乱的提交时,这些工具非常有用。用这种方法,你可以确保你的提交在逻辑上划分为相应的变更集,以便于供和你一起工作的开发者审阅。如果你运行git add时加上-i或者--inte

2014-09-21 00:00:30 447

转载 6.2 Git 工具 - 储藏(Stashing)

储藏(Stashing)经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的

2014-09-21 00:00:28 558

转载 6.1 Git 工具 - 修订版本(Revision)选择

修订版本(Revision)选择Git 允许你通过几种方法来指明特定的或者一定范围内的提交。了解它们并不是必需的,但是了解一下总没坏处。单个修订版本显然你可以使用给出的 SHA-1 值来指明一次提交,不过也有更加人性化的方法来做同样的事。本节概述了指明单个提交的诸多方法。简短的SHAGit 很聪明,它能够通过你提供的前几个字符来识别你想要的那次提交,只要

2014-09-20 23:55:55 1277

转载 5.3 分布式 Git - 项目的管理

项目的管理既然是相互协作,在贡献代码的同时,也免不了要维护管理自己的项目。像是怎么处理别人用 format-patch 生成的补丁,或是集成远端仓库上某个分支上的变化等等。但无论是管理代码仓库,还是帮忙审核收到的补丁,都需要同贡献者约定某种长期可持续的工作方式。使用特性分支进行工作如果想要集成新的代码进来,最好局限在特性分支上做。临时的特性分支可以让你随意尝试,进退自如

2014-09-20 23:52:02 430

转载 5.2 分布式 Git - 为项目作贡献

为项目作贡献接下来,我们来学习一下作为项目贡献者,会有哪些常见的工作模式。不过要说清楚整个协作过程真的很难,Git 如此灵活,人们的协作方式便可以各式各样,没有固定不变的范式可循,而每个项目的具体情况又多少会有些不同,比如说参与者的规模,所选择的工作流程,每个人的提交权限,以及 Git 以外贡献等等,都会影响到具体操作的细节。首当其冲的是参与者规模。项目中有多少开发者是

2014-09-20 23:40:22 443

转载 5.1 分布式 Git - 分布式工作流程

分布式工作流程同传统的集中式版本控制系统(CVCS)不同,开发者之间的协作方式因着 Git 的分布式特性而变得更为灵活多样。在集中式系统上,每个开发者就像是连接在集线器上的节点,彼此的工作方式大体相像。而在 Git 网络中,每个开发者同时扮演着节点和集线器的角色,这就是说,每一个开发者都可以将自己的代码贡献到另外一个开发者的仓库中,或者建立自己的公共仓库,让其他开发者基于自己的工作开始

2014-09-20 23:28:44 437

转载 4.10 服务器上的 Git - Git 托管服务

Git 托管服务如果不想经历自己架设 Git 服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。这样做有几大优点:托管账户的建立通常比较省时,方便项目的启动,而且不涉及服务器的维护和监控。即使内部创建并运行着自己的服务器,同时为开源项目提供一个公共托管站点还是有好处的 — 让开源社区更方便地找到该项目,并给予帮助。目前,可供选择的托管服务数量繁多,各有利弊。在 Git 官方

2014-09-20 23:26:44 326

转载 4.9 服务器上的 Git - Git 守护进程

Git 守护进程对于提供公共的,非授权的只读访问,我们可以抛弃 HTTP 协议,改用 Git 自己的协议,这主要是出于性能和速度的考虑。Git 协议远比 HTTP 协议高效,因而访问速度也快,所以它能节省很多用户的时间。重申一下,这一点只适用于非授权的只读访问。如果建在防火墙之外的服务器上,那么它所提供的服务应该只是那些公开的只读项目。如果是在防火墙之内的服务器上,可用于支撑大

2014-09-20 23:22:45 369

转载 4.8 服务器上的 Git - Gitolite

Gitolite本节作为Gitolite的一个快速指南,指导基本的安装和设置。不能完全替代随Gitolite自带的大量文档。而且可能会随时改变本节内容,因此你也许想看看最新的版本。Gitolite是在Git之上的一个授权层,依托sshd或者httpd来进行认证。(概括:认证是确定用户是谁,授权是决定该用户是否被允许做他想做的事情)。Gitolite允许你定义访问许可而不

2014-09-20 23:22:23 592

转载 4.7 服务器上的 Git - Gitosis

Gitosis把所有用户的公钥保存在 authorized_keys 文件的做法,只能凑和一阵子,当用户数量达到几百人的规模时,管理起来就会十分痛苦。每次改删用户都必须登录服务器不去说,这种做法还缺少必要的权限管理 — 每个人都对所有项目拥有完整的读写权限。幸好我们还可以选择应用广泛的 Gitosis 项目。简单地说,Gitosis 就是一套用来管理 authorized_

2014-09-20 23:20:55 412

转载 4.6 服务器上的 Git - GitWeb

GitWeb现在我们的项目已经有了可读可写和只读的连接方式,不过如果能有一个简单的 web 界面访问就更好了。Git 自带一个叫做 GitWeb 的 CGI 脚本,运行效果可以到 http://git.kernel.org 这样的站点体验下(见图 4-1)。Figure 4-1. 基于网页的 GitWeb 用户界面如果想看看自己项目的效果,不

2014-09-20 23:18:06 411

转载 4.5 服务器上的 Git - 公共访问

公共访问匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库所在的位置,然后开启本章第一节提到的 post-

2014-09-20 23:14:08 339

转载 4.4 服务器上的 Git - 架设服务器

架设服务器现在我们过一边服务器端架设 SSH 访问的流程。本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。首先,创建一个名为 'git' 的用户,并为其创建一个.ssh 目录。$ sudo adduser git$ su git$ cd$ mkdir .ssh接下来,把开发者的 S

2014-09-20 23:13:42 381

转载 4.3 服务器上的 Git - 生成 SSH 公钥

生成 SSH 公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:$ cd ~/.ssh$ lsauthorized_keys2 id_dsa

2014-09-20 23:08:06 331

转载 4.2 服务器上的 Git - 在服务器上部署 Git

在服务器上部署 Git开始架设 Git 服务器前,需要先把现有仓库导出为裸仓库 — 即一个不包含当前工作目录的仓库。做法直截了当,克隆时用 --bare 选项即可。裸仓库的目录名一般以 .git 结尾,像这样:$ git clone --bare my_project my_project.gitCloning into bare repository 'my_project.g

2014-09-20 22:58:51 437

转载 4.1 服务器上的 Git - 协议

协议Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。值得注意的是,除了 HTTP 协议外,其他所有协议都要求在服务器端安装并运行 Git。本地协议最基本的就是本地协议(Local protocol),所谓的远程仓库在该协议中的表示,就是硬盘上的另一个目录。这

2014-09-20 22:52:02 330

转载 3.6 Git 分支 - 分支的衍合

分支的衍合把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了。)。在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合。基本的衍合操作请回顾之前有关合并的一节(见图 3-27),你会看到开发进程分叉到两个不同分支,又各自提交了更新。

2014-09-20 22:50:44 359

转载 3.5 Git 分支 - 远程分支

远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支。比如我们想看看上次同 origin 仓库通讯时master 分支的样子,就应该查看 origin/master 

2014-09-20 22:48:56 388

转载 3.4 Git 分支 - 利用分支进行开发的工作流程

利用分支进行开发的工作流程现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出了这类典型的工作模式,你可以根据项目的实际情况选择一种用用看。长期分支由于 Git 使用简单的三方合并,所以就算在较长一段时间内,反复多次把某个分支合并到另一分支,也不是什么难事。也就是说,你

2014-09-20 22:46:14 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除