git在Win7下安装图解

  categories:svn  author:

来源:互联网

Git是一个免费的、开源的版本控制软件,和SVN类似,具体的区别大家应该都是知道的。Git的下载方式:一个是在官网上获取,另一个可以点击这里下载。

Git在win7下的安装过程如下:

wps_clip_image-14572

wps_clip_image-1642

wps_clip_image-1579

wps_clip_image-16555

wps_clip_image-19604

wps_clip_image-31887

wps_clip_image-8109

wps_clip_image-21143

wps_clip_image-1212

安装完后配置下Git的环境变量,如下图:

wps_clip_image-28306

完成以上步骤,Git已经基本安装好了,桌面上会生成一个Git Bash的快捷方式,如图所示:

wps_clip_image-19825

运行git bash,开始配置git:

wps_clip_image-17446

1、配置email,命令如下:

   $git config –global user.name "your name"

   $git config –global user.email "your@email.address"

其中"your name"换成你的名字,"your@email.address"换成你的邮箱地址。

2、生成公钥,用于身份认证:

  ssh-keygen.exe -C "your@email.address" -t rsa

这样就可以在你的用户下取得需要的公钥匙,公钥位于你的电脑中“C:\Users\hy\.ssh”的“id_rsa.pub”文件下:

wps_clip_image-11457

使用编辑器打开,里面的就是公钥的内容:

ssh-rsa … 阅读全文

GIT使用入门

  categories:svn  author:

来源:互联网

Part 1

第一章  基本原理

git是一个版本控制系统。官方的解释是:版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

按我的白话文解释就是:一群志同道合的人身处祖国各地,希望来合作开发一个项目,假设这个项目是使用c语言写的(当然用任何语言都可以的)。那么大家怎么合作呢?用信件?效率太低。用邮件,不好实现多人沟通。用google

group吧,可开发阶段中的源代码没法科学管理。用自建的网站吧,需要人力物力财力来支撑阿。

这个时候版本控制系统就派上用场了。它可以让一个团队里的不同的人在不同地点、不同时间开发和改进同一个项目,并且在大部分的时间里,版本控制系统会聪明的帮你把不同的人在不同地点不同时间修改的代码融合到项目中去。(当然在一些特殊的情况,还是需要人去决定到底哪些代码需要加入到项目中,这个在后面讨论不迟,先让大家对版本控制有一个好印象,呵呵)

知道了版本控制系统的优点之后,下面就要具体实践和体验了。建议你选用的版本控制系统包括:

rcs,cvs,svn,git,Mercurial,Bazzar等等。

当然git,Mercurial和Bazzar都是属于分布式版本控制系统。

下面是一些网友对于这些版本控制系统评论的只言片语:

1) svk配合svn可以实现分布式的版本控制。

2) 我是从SVN转到Git下的。我想Git的优势是速度飞快,谁用谁知道!

3) git的确是最快的,bzr慢的要死

4) SVN 在 windows 下有 TortoiseSVN

5) git 有 Windows 版本,在 google code 上的项目。http://code.google.com/p/msysgit/

6) 大家可以试试国内提供的git服务。http://www.githost.cn

那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本的工作原理,用起来就会知其所以然,游刃有余。在开始学习 … 阅读全文

Windows 系统下Git安装图解

  categories:svn  author:

来源:互联网

简单来说Git是一个免费的、开源的版本控制软件,从功能上讲,跟我们比较熟悉的Subversion(SVN)这类版本控制软件没什么两样。由于工作的需求,需要在WinXP下安装git配合团队完成相应的工作,以前一直在别的系统下使用,今天经Drupal花园的龙马指点终于安装成功了,特意贴出来与有需要的童鞋一起分享。

获取Git软件:

大家可以通过两种方式获取Git的软件,一个是在官网上获取,另一个可以点击这里下载。只是有一点需要说明就是需要下载支持WinXp系统的版本。

Git在WinXP安装过程

在WinXP下安装Git详细步骤参考如下安装示意图:

wps_clip_image13158_thumb[1]

wps_clip_image638_thumb[1]

wps_clip_image32409_thumb[1]

wps_clip_image17364_thumb[1]

wps_clip_image9841_thumb[1]

wps_clip_image2781_thumb[1]

wps_clip_image3905_thumb[1]

wps_clip_image10701_thumb[1]

wps_clip_image27886_thumb[1]

点击上图的“Finish”后Git的安装就完成了,安装完成后需要在进行一下环境变量的设置,改变环境变量的具体步骤可以参考下图:

wps_clip_image3443_thumb[1]

wps_clip_image18332_thumb[1]

wps_clip_image31141_thumb[1]

wps_clip_image26347_thumb[1]

wps_clip_image26146_thumb[1]

生成ssh公钥

双击桌面上的git运行程序:

wps_clip_image24534_thumb[1]

启动git的运行程序:

wps_clip_image26468_thumb[1]

在程序中依次输入:

1、配置email,命令如下:

$git config –global user.name “your name”

$git config –global user.email “your@email.address”

其中”your name”换成你的名字,”your@email.address”换成你的邮箱地址。

2、生成公钥,用于身份认证:

ssh-keygen.exe -C “your@email.address” -t rsa

这样就可以在你的用户下取得需要的公钥匙,公钥位于你的电脑中“C:\Documents and Settings\Airen\.ssh”的“id_rsa.pub”文件下:

wps_clip_image8872_thumb[1]

你使用文本编辑器打开“id_rsa.pub”就可以看到公钥的内容:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs1c3zL3IbjhMbSCwooZ7WHlkga7xq+5inQUCTqmZ7xqBclvEwofDd4BYts99X+xfNXgGSlil85wrOfXX9ZH27ZmPR3Z8KWp3pekFOvk7iLmt0b9lZqhgpUll76Q7D2KED8se9gV4FNxg05ZK6AUZm70cBj9sZqjV//weE7ufkibcqd3ngHsTKB+0Js8NcMwldHmxIxZEwufxgT/D4EGQCA6ijjuj9ILIydzzLwWzKoH1wuGDU5LAE1qptIpAt50uWxPNlsBPoqZnbJjHg+As9If6tRkG4YzkwzSBTP725bJDcWkArhWRRkJ2cwUgcJYRyCY+8jI2oxDawYjWQ+w9HQ== airenliao@gmail.com

此时只要把你的公钥放进你项目的服务中就可以进行git的相关操作。

关于git的命令更多操作,可以到官网查阅,或点击这里查看更多的命令操作。… 阅读全文

Tortoises SVN 教程

  categories:svn  author:
来源:互联网

 

 

 

1.  TortoiseSVN 简介

 

 

 

版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会

 

花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工

 

作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要

 

管理潜在的混乱。

 

 

2.  什么是 TortoiseSVN

 

 

 

TortoiseSVN Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。

 

某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 -

阅读全文

svn分支与合并

  categories:svn  author:

来源:互联网

分支的基本概念就正如它的名字,开发的一条线独立于另一条线,如果回顾历史,可以发现两条线分享共同的历史,一个分支总是从一个备份开始的,从那里开始,发展自己独有的历史(如下图所示)

wps_clip_image-26883[9][1]

⑴创建分支
假设目前我们版本库中的项目的布局如下图:

wps_clip_image-8211[10][1]

如图所示,我们的项目放在了trunk(主线)目录,另外还有branch(分支)和tags(标签)目录,这样的布局是为了更清晰的区别主线、分支和标签三者的位置。
subversion对分支和标签是通过复制一份最新的版本库的快照来实现的。

开始创建分支:
在我们CheckOut的主线目录(trunk)上,右键点击然后选择“Branch/tag…”

wps_clip_image-10150[9][1]

在弹出的窗口中,将To Url 指向branch目录并输入分支的具体目录名,这里是mybranch1.0,我们即将创建的分支便存放于此处,点击OK。

wps_clip_image-19481[9][1]

Update一下本地的branch目录,你就可以看到你刚刚创建的分支“mybranch1.0”,这样一来我们的分支就创建完成了。

wps_clip_image-10477[9][1]


创建分支的最大的目的就是跟主线进行并行开发的时候不影响主线的开发。
因为你在分支上所做的提交都只存于分支上,主线上的Update是看不到分支的修改的。如下图所示,trunk只能看到r344的版本,并看不到r343的版本。

wps_clip_image-213[9][1]

(什么时候应该使用分支呢?例如你接到了一个任务,完成这个任务需要三四个人的合作,你们之间需要共享资源,那们就可以创建一个专为这次任务的分 支,参与此次任务的人员则在分支上做开发,等完成之后再合并到主线上,才不会出现将实现了一半的不完成功能也提交到主线上,影响主线的正常工作。又或者自 己需要一个较长的开发周期来完成任务,这么长的时间内如果一直没有将资源进行提交,万一丢失了就前功尽弃了。当然分支不是只用于此类情况,还有其它很多种 情况也能使用分支来达到目的。)
使用分支需要注意,由于长期的独立开发,可能会在合并回主线时出现较多的冲突。所以在支线上开发间期如果发现主干有更新,而且这个更新有可能将来 跟你产生冲突,那你可以先将主线的内容合并到分支上。已免等到做了大量修改再来更新。(其实此过程跟分支合并到主线上是一样的操作,只是目的地不同。)

例如我们在主线上的版本为3,我们如何将此版本的信息合并到分支上呢?
wps_clip_image-1825[10][1]

Merge…”。à在分支的根目录上右键点击,选择“TortoiseSVN

wps_clip_image-32422[9][1]


在这里我们必需先弄明白一个合并背后的关健概念
合并的过程中发生的所有事:首先两个版本库树的比较,然后将区别应用到本地拷贝.
这个命令是包括三个参数的:
1. 初始的版本树 2.最终的版本树 3一个接收区别的工作拷贝。
弄明白这些概念之后我们继续往下操作。
在弹出的窗口中,选择主线目录和其版本号(初始的版本树),再选择主线目录和最新的版本号(最终的版本树),这里也可以是某一个版本号但应该比初始的版本树的版本号要高,接收区默认为你右键所指的目录,这里是mybranch1.0。

在合并之前我们可以通过点击“Unified diff”,查看两版本树之间所有文件的内容的变化,“diff”显示出有发生变化的文件列表,“dry run”能显示真正合并时的状态信息,但并没有做任何的合并操作。
我们点击“Merge”。

wps_clip_image-7051[11][1]

在点击“Merge”,合并后的文件(即对分支上的文件补上了主线上修改的内容),如无冲突则可以在分支上像其它文件一样使用了,如果合并后的内容不满意,可以通过撤销来取消这次的合并操作,前提是未对合并后的文件做提交操作。

分支合并到主线跟从主线上合并内容到分支上类似
不同的是 阅读全文

SVN分支与合并

  categories:svn  author:

来源:互联网

一、 分支与合并的概念:

     分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。这条线被称为分支。分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。当新的特性足够稳定之后,开发品的分支就可以混合回主分支里(主干线)。

    合并:分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。

二、 SVN分支的意义:

简单说,分支就是用于区分开发版本与当前发布版本的。

1、 主干负责新功能的开发 

2.、分支负责修正当前发布版本的bug(对于可以放入下个发布版本的改进性bug可以直接在主干上开发) 

3.、分支上修改的bug,经常性merge到主干上,尽量及时merge(避免大面积红色区域)。

4.、只能分支往主干靠拢(merge),不能反向! 

5.、直到下个新版本发布,该分支停止修改

三、 如何创建分支与合并分支:

1、首先要在你的版本库存里创建主干目录,通过版本库浏览器,如图1所示:

wps_clip_image-22521[3][1]

(图 1)

2、输入版本库URL地址,如图2所示:

wps_clip_image-3644[3][1]

(图 2)

3、进入版本库浏览器主目录,如图3所示:

wps_clip_image-6772[3][1]

(图 3)

4、创建主干目录,如图4所示:

wps_clip_image-28855[3][1]

(图4)

5、主干目录(trunck),如图5所示:

wps_clip_image-9560[3][1]

(图 5)

6、把你要加入版本控制的文件加入主干,如图6-8所示:

wps_clip_image-10403[3][1]

(图 6)

wps_clip_image-9447[3][1]

(图 7)

wps_clip_image-8353[3][1]

(图 8)

7、从主干里检出文件到你的本地工作副本上,如图9-10所示: … 阅读全文

SVN本地学习环境快速搭建

  categories:svn  author:

原创文档,转载请将原文url地址标明

SVN是程序员必须熟悉的一个工具,真正理解这个工具的工作原理还是需要些时间的,但是我们不妨先去多实践,多实验,多去看文档,可以自己在windows 中配置一个SVN的server,然后将自己学习中各种项目都放入自己的SVN server中,然后不断练习,慢慢的就会有很大提高。

SVN是个标准的c/s结构软件系统,我们必须同时具备SVN server以及SVN client然后整个系统才能正常的工作。我们至少在这样的一个系统上才能真正学习、工作等。

SVN客户端程序一般比较流行的是TortoiseSVN,这个是图形化的SVN客户端软件,操作简单,易用,同资源管理器集成等。他的安装比较简单,默认next方式安装就可以。

目前有了client还欠缺一个server端程序,若是两个都具备了我们就可以进行研究了。

一般SVN server安装还是略微麻烦些的。其实出于学习目的我们完全没有必要专门安装一套SVN server系统。在正常开发环境中,一定会有专人负责SVN的维护等,主要维护的server系统。因此我们仅仅需要一个最简单的、仅供自己学习的SVN系统,不需要太多功能。

这个系统TortoiseSVN已经为我们提供了,我们仅仅需要简单设置一下就可以工作了。本文将较为详细的介绍一下这个操作过程,供大家参考。

一. 创建SVN仓库

wps_clip_image-19553[3][1]

如上图

1. 在硬盘中,创建一个空的目录,本例中创建z:\repos目录作为仓库目录

2. 在目录中 任意空白处点击 鼠标右键,选取图中菜单项

3. 最后选择“Create repository here”项目

这样客户端就会在这里创建一个 file:///类型的服务器仓库。

二.svn仓库地址获取与维护

wps_clip_image-28998[3][1]

如上图,还是在刚才创的目录中,已经包含了仓库必备文件。千万不要手工修改这些文件,这些文件必须由TortoiseSVN软件进行维护,否则可能破坏仓库造成损失。

如何获取仓库地址,这样才能进行后续SVN操作

1. 在仓库中任意空白处(位置2的地方),选择鼠标右键

2. 依次点选图中菜单,最后选择repo-browser

最后将获得下图界面

wps_clip_image-22537[3][1]

如上图,其中

1. 图中 位置1处是 … 阅读全文

Tortoises SVN 教程

  categories:svn  author:

来源:互联网

 

svn是程序员必须熟悉的一个工具,真正理解这个工具的工作原理还是需要些时间的,但是我们不妨先去多实践,多实验多去看文档,可以自己在windows中配置一个svn的server,然后将自己学习中的各种项目都放入自己的svn server中,然后不断练习慢慢的就会有很大提高

image[2][1]

如上图用资源管理器中在硬盘的适当位置选择右键,依次选择菜单想,最后选择2位置处的菜单就可以创建一个本地的svn服务器。

然后就可以进行各种练习了,这个是自己本地的svn仓库。可以自由练习了。

 

1.  TortoiseSVN 简介

版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会

花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工

作的团队 – 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要

管理潜在的混乱。

2.  什么是 TortoiseSVN

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。

某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 – 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。

3.  名词解释

3.1 检出工作副本

你的版本库就像是一台时间机器,它记录了所有提交的修改,允许你检查文件或目录以及相关元数据的历史。通过一个Subversion 命令你可以根据时间或修订号取出一个过去的版本(或者恢复现在的工作拷贝),然而,有时候我们只是想看看历史而不想回到历史

3.2 提交修改

可以理解为上传修改文件的记录,就是把工作副本里面修改过的文件的记录上传到版本库里面。

3.3 … 阅读全文

SVN-高级应用使用指南

  categories:svn  tags:  author:

[本地工作区] :work copy ,本地工作副本;

[主项目]:引用共用模块的新项目(工程)

最新版本(HEAD revision):版本库里文件或目录的最新版本

SA :SVN服务器的管理员

PRA :单个项目库的管理员,或者是项目负责人

User :普通工作人员

WC :work copy ,本地工作副本

一、 模块化开发中svn的使用

主要介绍模块化开发中公用模块/组件的版本控制,介绍两种方法。其中,公用模块一般指那些已经完成的、不可修改的、无法编译成dll的、功能较为完整的代码群。

1.1手工维护公用模块/组件的[本地工作区]

将公用模块(的所需版本)直接 取出ckeckout 到本地,公用模块的[本地工作区] 可以作为被引用的[主项目] [本地工作区] 的子目录也可以放在其他独立目录中。[主项目]的提交commit 对公用模块的[本地工作区] 不会发生任何影响,而且公用模块的[本地工作区] 需要项目团队中的每个成员与[主项目] [本地工作区] 相对独立的维护(取出ckeckout ),可能会出现不同项目成员之间的公用模块[本地工作区] 不一致的错误。

1.2 Svn自动维护公用模块/组件的[本地工作区]

需要使用svn:externals 属性,具体操作步骤如下:察看[主项目] [本地工作区] 的目录属性… 阅读全文



快乐成长 每天进步一点点